当前位置:   article > 正文

字符串分割成List的几种方式

字符串分割成List的几种方式

Java开发中,我们经常需要将字符串转换为List类型,以便进行后续处理。下面介绍几种常见的字符串转List的方式,并给出相应的使用教程。

一、使用Arrays.asList()方法

如果你有一个由逗号分隔的字符串,并希望将其拆分为一个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]  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

注意:Arrays.asList()返回的List是固定大小的,不支持添加或删除元素。如果需要可变的List,可以将其转换为ArrayList。

List<String> mutableList = new ArrayList<>(Arrays.asList(str.split(",")));
  • 1

二、使用Stream API

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]  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

三、使用Guava库

Guava是Google提供的一个Java核心库,它提供了很多实用的功能,包括字符串到List的转换。

首先,你需要在项目中添加Guava的依赖:

<!-- Maven依赖 -->  
<dependency>  
    <groupId>com.google.guava</groupId>  
    <artifactId>guava</artifactId>  
    <version>最新版本号</version>  
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后,你可以使用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]  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

四、使用Apache Commons Lang库

Apache Commons Lang库也提供了字符串操作的功能,包括将字符串转换为List。

首先,你需要在项目中添加Apache Commons Lang的依赖:

<!-- Maven依赖 -->  
<dependency>  
    <groupId>org.apache.commons</groupId>  
    <artifactId>commons-lang3</artifactId>  
    <version>最新版本号</version>  
</dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

然后,你可以使用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.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/532335
推荐阅读
相关标签
  

闽ICP备14008679号