List与String相互转化的几种方式

List转化为String

下面总结了List转化为String的几种常见的方法,并使用逗号进行分割。

使用String.join()方法

Java 8引入了String.join()方法,可以将数组或集合以指定的分隔符连接起来形成新的字符串。

java 复制代码
List<String> list = Arrays.asList("aa", "bb", "cc");
String str = String.join(",", list);

使用StringBuilder

java 复制代码
List<String> list = Arrays.asList("aa", "bb", "cc");
        StringBuilder sb = new StringBuilder();
        for (String s : list) {
            sb.append(s).append(",");
        }
String str = sb.deleteCharAt(sb.length() - 1).toString();

使用Java 8的Stream API

java 复制代码
List<String> list = Arrays.asList("aa", "bb", "cc");
String str = list.stream().collect(Collectors.joining(","));

使用Apache Commons Lang3的StringUtils.join()方法

Apache Commons Lang3提供了StringUtils.join()方法,可以将数组或集合以指定的分隔符连接起来形成新的字符串。

引入依赖包:

xml 复制代码
<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>
java 复制代码
List<String> list = Arrays.asList("aa", "bb", "cc");
String str = StringUtils.join(list, ",");

使用Guava的Joiner.on()方法

引入依赖包:

xml 复制代码
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>
java 复制代码
List<String> list = Arrays.asList("aa", "bb", "cc");
String str = Joiner.on(",").join(list);

String转化为List

使用split()方法

String类提供了split()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Arrays.asList()方法将字符串数组转换为List。

java 复制代码
String str = "a,b,c";
String[] strs = str.split(",");
List<String> list = Arrays.asList(strs);

使用正则表达式

可以使用正则表达式来匹配字符串中的分隔符,然后将匹配到的字符串分割成List。

java 复制代码
String str = "a,b,c";
List<String> list = Pattern.compile(",").splitAsStream(str).collect(Collectors.toList());

使用Apache Commons Lang3的StringUtils.split()方法

Apache Commons Lang3提供了StringUtils.split()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Arrays.asList()方法将字符串数组转换为List。

引入依赖包:

xml 复制代码
<dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>
java 复制代码
String str = "a,b,c";
String[] strs = StringUtils.split(str, ",");
List<String> list = Arrays.asList(strs);

使用Guava的Splitter.on()方法

Guava提供了Splitter.on()方法,可以根据指定的分隔符将字符串分割成字符串数组。然后,可以使用Lists.newArrayList()方法将字符串数组转换为List。

引入依赖包:

xml 复制代码
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>
java 复制代码
String str = "a,b,c";
List<String> list = Splitter.on(",").splitToList(str);