赞
踩
在Java开发中,我们经常需要将字符串转换为List类型,以便进行后续处理。下面介绍几种常见的字符串转List的方式,并给出相应的使用教程。
如果你有一个由逗号分隔的字符串,并希望将其拆分为一个List,你可以使用Arrays.asList()配合String.split()方法来实现。
import java.util.Arrays;
import java.util.List;
public class StringToListExample {
public static void main(String[] args) {
String str = "item1,item2,item3";
List<String> list = Arrays.asList(str.split(","));
System.out.println(list); // 输出: [item1, item2, item3]
}
}
注意:Arrays.asList()返回的List是固定大小的,不支持添加或删除元素。如果需要可变的List,可以将其转换为ArrayList。
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));
Java 8引入了Stream API,可以更方便地对集合进行操作。你可以使用Arrays.stream()或Pattern.compile()与String.splitAsStream()来将字符串转换为流,然后收集为List。
import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; public class StringToListWithStreamExample { public static void main(String[] args) { String str = "item1,item2,item3"; // 使用Arrays.stream() List<String> list1 = Stream.of(str.split(",")) .collect(Collectors.toList()); System.out.println(list1); // 输出: [item1, item2, item3] // 使用Pattern.compile()与splitAsStream() List<String> list2 = Pattern.compile(",") .splitAsStream(str) .collect(Collectors.toList()); System.out.println(list2); // 输出: [item1, item2, item3] } }
Guava是Google提供的一个Java核心库,它提供了很多实用的功能,包括字符串到List的转换。
首先,你需要在项目中添加Guava的依赖:
<!-- Maven依赖 -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>最新版本号</version>
</dependency>
然后,你可以使用Guava的Splitter类来分割字符串并转换为List。
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
public class StringToListWithGuavaExample {
public static void main(String[] args) {
String str = "item1,item2,item3";
Iterable<String> iterable = Splitter.on(',').trimResults().split(str);
List<String> list = Lists.newArrayList(iterable);
System.out.println(list); // 输出: [item1, item2, item3]
}
}
Apache Commons Lang库也提供了字符串操作的功能,包括将字符串转换为List。
首先,你需要在项目中添加Apache Commons Lang的依赖:
<!-- Maven依赖 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>最新版本号</version>
</dependency>
然后,你可以使用StringUtils类的split()方法结合Arrays.asList()或转换为ArrayList。
import org.apache.commons.lang3.StringUtils;
import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;
public class StringToListWithCommonsLangExample {
public static void main(String[] args) {
String str = "item1,item2,item3";
String[] array = StringUtils.split(str, ',');
List<String> list = Arrays.asList(array); // 固定大小的List
// 或者
List<String> mutableList = new ArrayList<>(Arrays.asList(array)); // 可变的List
System.out.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。