Java之字符串分割转换List
字符串分割成数组然后转换成List有多种方式,以下是每种方式的示例,推荐Java8的新特性Stream。
使用Java8的新特性Stream API
String str = "aaa,bbb,ccc";
// 使用Arrays.stream()
List<String> list1 = Stream.of(str.split(",")).collect(Collectors.toList()); // 使用Pattern.compile()与splitAsStream()
List<String> list2 = Pattern.compile(",").splitAsStream(str).collect(Collectors.toList());
Arrays.asList()方法
String str = "aaa,bbb,ccc";
List<String> list = Arrays.asList(str.split(","));//注意:Arrays.asList()返回的List是固定大小的,不支持添加或删除元素。
//如果需要可变的List,可以将其转换为ArrayList。
List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));
Guava库
1,maven添加依赖
<!-- Maven依赖 -->
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>33.3.1-jre</version>
</dependency>
2,java代码
String str = "aaa,bbb,ccc";
Iterable<String> iterable = Splitter.on(',').trimResults().split(str);
List<String> list = Lists.newArrayList(iterable);
Apache Commons Lang库
1,maven添加依赖
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.17.0</version>
</dependency>
2,java代码
String str = "aaa,bbb,ccc";
String[] array = StringUtils.split(str, ',');
List<String> list1 = Arrays.asList(array); // 固定大小的List
// 或者
List<String> list2 = new ArrayList<>(Arrays.asList(array)); //可变的List