List或数组到String的转换
2023-09-14 08:59:40 时间
在编程过程中偶尔会遇到需要将List或数组以某个字符间隔的形式将其拼接成一个字符串,比如在发送邮件时,to列表是以分号分割的字符串,然而在程序中我们可能会一List String 或String[]的形式存在,此时就需要做List或数组到String的转换。
在C#中,String类提供了一个叫Join的方法,因而我们使用一句代码就可以完成这样的工作:
string result = string.Join("; ", toList.ToArray());
但是在Java中貌似没有提供类似的方法(至少我还没有找到),既然没有提供,我们就可以自己来写一个:
public class StringUtils {
/**
* StringUitls类中的方法都是静态的,
* 阻止其创建实例,以引起一些误解。
* 另一种做法是将其变为abstract类,
* 但是这样也会引起一些误解,
* 因为abstract类的意思就是可以继承的,
* 然而该类却不应该由其他类来继承。
* 因而abstract类个人感觉不是一种好的做法。
*/
private StringUtils() { }
/**
* 将array中的内容以delimiter为间隔拼接字符串
*
* @param array
* @param delimiter
* @return
*/
public static String join(Object[] array, String delimiter) {
if(array == null) {
throw new IllegalArgumentException();
}
if(array.length == 0) {
return "";
}
StringBuilder builder = new StringBuilder();
for(Object item : array) {
builder.append(item.toString() + delimiter);
}
builder.delete(builder.length() - delimiter.length(), builder.length());
return builder.toString();
}
/**
* 将list中的内容以delimiter为间隔拼接字符串
*
* @param list
* @param delimiter
* @return
*/
@SuppressWarnings("unchecked")
public static String join(List list, String delimiter) {
if(list == null) {
throw new IllegalArgumentException();
}
return join(list.toArray(), delimiter);
}
测试代码如下:
1 @Test
2 public void testListToString() {
3 List String list = new ArrayList String ();
4 list.add("Item1");
5 list.add("Item2");
6 list.add("Item3");
7
8 String expected = "[Item1, Item2, Item3]";
9
10 assertEquals(expected, list.toString());
11 }
12
13 @Test
14 public void testListToString2() {
15 List String list = new ArrayList String ();
16 list.add("Item1");
17 list.add("Item2");
18 list.add("Item3");
19
20 String expected = "Item1;Item2;Item3";
21
22 assertEquals(expected, StringUtils.join(list, ";"));
23 }
知识分享之Golang——常用的类型转换int、string、float互相转换 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
在C#中,String类提供了一个叫Join的方法,因而我们使用一句代码就可以完成这样的工作:
string result = string.Join("; ", toList.ToArray());
但是在Java中貌似没有提供类似的方法(至少我还没有找到),既然没有提供,我们就可以自己来写一个:
public class StringUtils {
/**
* StringUitls类中的方法都是静态的,
* 阻止其创建实例,以引起一些误解。
* 另一种做法是将其变为abstract类,
* 但是这样也会引起一些误解,
* 因为abstract类的意思就是可以继承的,
* 然而该类却不应该由其他类来继承。
* 因而abstract类个人感觉不是一种好的做法。
*/
private StringUtils() { }
/**
* 将array中的内容以delimiter为间隔拼接字符串
*
* @param array
* @param delimiter
* @return
*/
public static String join(Object[] array, String delimiter) {
if(array == null) {
throw new IllegalArgumentException();
}
if(array.length == 0) {
return "";
}
StringBuilder builder = new StringBuilder();
for(Object item : array) {
builder.append(item.toString() + delimiter);
}
builder.delete(builder.length() - delimiter.length(), builder.length());
return builder.toString();
}
/**
* 将list中的内容以delimiter为间隔拼接字符串
*
* @param list
* @param delimiter
* @return
*/
@SuppressWarnings("unchecked")
public static String join(List list, String delimiter) {
if(list == null) {
throw new IllegalArgumentException();
}
return join(list.toArray(), delimiter);
}
测试代码如下:
1 @Test
2 public void testListToString() {
3 List String list = new ArrayList String ();
4 list.add("Item1");
5 list.add("Item2");
6 list.add("Item3");
7
8 String expected = "[Item1, Item2, Item3]";
9
10 assertEquals(expected, list.toString());
11 }
12
13 @Test
14 public void testListToString2() {
15 List String list = new ArrayList String ();
16 list.add("Item1");
17 list.add("Item2");
18 list.add("Item3");
19
20 String expected = "Item1;Item2;Item3";
21
22 assertEquals(expected, StringUtils.join(list, ";"));
23 }
知识分享之Golang——常用的类型转换int、string、float互相转换 知识分享之Golang篇是我在日常使用Golang时学习到的各种各样的知识的记录,将其整理出来以文章的形式分享给大家,来进行共同学习。欢迎大家进行持续关注。 知识分享系列目前包含Java、Golang、Linux、Docker等等。
相关文章
- python中 列表(List)转换为字符串(Str)的方法
- java集合中:set与list相互转换[通俗易懂]
- C# 中List与json字符串的相互转换「建议收藏」
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- List<类型1>转成List<类型2>的LIst类型转换工具类
- Java 8 使用 Stream 把 List 转换为 map
- 所有物种基因Symbol别名转换为最新Symbol
- Power Query的三大数据结构(容器)的创建、深化、转换、合并和扩展(视频*4)
- java处理json的工具类(list,map和json的之间的转换)详解编程语言
- Hibernate Criteria接口 list方法:返回一个List集合
- Hibernate Query接口 list方法:返回查询结果的List集合
- 结构使用Redis List结构实现快速操作(redis中list)
- 性能优化提升Redis List性能的简单方法(redis的list)
- Linux跳转目录技巧:快速操作路径转换(linux跳转目录)
- Oracle帮你快速转换人民币大写(oracle 人民币大写)
- Oracle中文拼音转换之旅(oracle中文转成拼音)
- Redis List实现的双向链表功能(redis里面的list)
- Redis实现高效的List读取(redis读list)
- C#中List〈string〉和string[]数组之间的相互转换
- Json数据转换list对象实现思路及代码
- 深入解析phpCB批量转换的代码示例
- C#实现HTML和UBB互相转换的方法
- Android处理图像数据转换的各种方法