Java将集合List转换成String字符串(或String转换成List)详解
1、将集合list转换成string
将一个Java集合List转换为String很简单,可以使用String.join()或StringBuilder等方法。下面是几个示例:
1.1、使用String.join()方法:
List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); String joinedString = String.join(", ", list); System.out.println(joinedString); // 输出: A, B, C
1.2、使用StringBuilder:
List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); StringBuilder sb = new StringBuilder(); for (String str : list) { sb.append(str); sb.append(", "); } sb.setLength(sb.length() - 2); // 删除最后一个逗号和空格 String joinedString = sb.toString(); System.out.println(joinedString); // 输出: A, B, C
1.3、使用Java 8的Stream API (推荐):
List<String> list = new ArrayList<>(); list.add("A"); list.add("B"); list.add("C"); String joinedString = list.stream().collect(Collectors.joining(", ")); System.out.println(joinedString); // 输出: A, B, C
总结:
以上是转换Java集合List为字符串的几种方法。需要注意的是,当集合中包含null值时,使用String.join()方法将会抛出NullPointerException异常,而使用StringBuilder或Java 8的Stream API则可以正确处理null值。
2、将string转换成list
将一个逗号分隔的字符串转换为Java集合List也很简单,可以使用String的split()方法或者使用Java 8的Stream API的splitAsStream()方法。下面是两个示例:
2.1、使用String的split()方法:
String str = "A, B, C"; List<String> list = Arrays.asList(str.split("\\s*,\\s*")); System.out.println(list); // 输出: [A, B, C]
2.2、 使用Java 8的Stream API的splitAsStream()方法:
String str = "A, B, C"; List<String> list = Pattern.compile("\\s*,\\s*").splitAsStream(str).collect(Collectors.toList()); System.out.println(list); // 输出: [A, B, C]
总结:
需要注意的是,在使用String的split()方法时,分隔符需要使用正则表达式进行转义,例如上述代码中的"\s*,\s*"表示匹配以逗号为分隔符的字符串,并去除前后空格。使用Java 8的Stream API的splitAsStream()方法则不需要进行转义。
TIP: 以上是将逗号分隔的字符串转换为Java集合List的两种方法。需要注意的是,当字符串中包含空格或其他分隔符时,需要相应地调整分隔符参数的正则表达式。
附:java List数组用逗号分隔开,转成字符串
方法一:使用Java 8的Stream流来实现List数组用逗号分隔开,转成字符串,具体实现如下:
List list = new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); String str = list.stream().collect(Collectors.joining(",")); System.out.println(str); //输出结果为 a,b,c,d
方法二:使用Stream的collect方法,结合Collectors.joining方法,可以将List中的元素用指定的分隔符连接起来,生成一个字符串。在上面的代码中,我们使用了逗号作为分隔符,将List中的元素连接成了一个字符串。
另外,如果要在字符串的开头或结尾加上一些额外的字符,可以使用String的concat方法,例如:
String str = ",".concat(list.stream().collect(Collectors.joining(","))).concat(","); System.out.println(str); //输出结果为 ,a,b,c,d,
以上代码在字符串的开头和结尾加上了逗号,输出结果为 “,a,b,c,d,”。
到此这篇关于Java将集合List转换成String字符串(或String转换成List)的文章就介绍到这了,更多相关Java集合List转换String字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot把外部依赖包纳入Spring容器管理的两种方式
这篇文章主要给大家介绍了Springboot把外部依赖包纳入Spring容器管理的两种方式,Spring.factories和org.springframework.boot.autoconfigure.AutoConfiguration.imports,有感兴趣的小伙伴可以参考阅读本文2023-07-07SpringBoot集成FastDFS依赖实现文件上传的示例
这篇文章主要介绍了SpringBoot集成FastDFS依赖实现文件上传,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-05-05一文详解Java中的可变对象(Mutable)与不可变对象(Immutable)
如何在 Java 中创建不可变对象?我以前以为所有对象都是不可变的,因为如果你改变一个 String 实例的内容,它总是会创建一个新的 String 对象并指向该对象,在本文中,我不仅将分享在 Java 中Immutable的步骤,还将讨论可变对象与不可变对象及其优缺点2023-11-11Mybatis Criteria使用and和or进行联合条件查询的操作方法
这篇文章主要介绍了Mybatis Criteria的and和or进行联合条件查询的方法,本文通过例子给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2021-10-10IDEA “Cannot resolve symbol”爆红问题解决
最近发现个问题,IDEA 无法识别同一个 package 里的其他类,将其显示为红色,本文就来介绍一下IDEA “Cannot resolve symbol”爆红问题解决,感兴趣的可以了解一下2023-10-10
最新评论