字符串分割成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]  
    }  
}

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

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

二、使用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]  
    }  
}

三、使用Guava库

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库

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.

相关推荐

  1. 字符串分割List方式

    2024-04-30 11:44:05       29 阅读
  2. List与String相互转化方式

    2024-04-30 11:44:05       43 阅读
  3. List和Map初始化方法

    2024-04-30 11:44:05       42 阅读
  4. 关于字符串比对方法

    2024-04-30 11:44:05       54 阅读
  5. C++ 字符串转数字方法

    2024-04-30 11:44:05       46 阅读
  6. PEFT方式

    2024-04-30 11:44:05       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-30 11:44:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-30 11:44:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-30 11:44:05       87 阅读
  4. Python语言-面向对象

    2024-04-30 11:44:05       96 阅读

热门阅读

  1. Managing Digital Design and Web Development MANG6531

    2024-04-30 11:44:05       26 阅读
  2. 前端调用WebSocket协议接口获取数据

    2024-04-30 11:44:05       41 阅读
  3. 使用 Ant Design Vue踩过的那些坑

    2024-04-30 11:44:05       36 阅读
  4. 20240427-线程基础-结束线程

    2024-04-30 11:44:05       37 阅读
  5. C++:初始C++

    2024-04-30 11:44:05       27 阅读
  6. 初识MVC

    初识MVC

    2024-04-30 11:44:05      33 阅读
  7. QT 获取本机所有 IP 地址

    2024-04-30 11:44:05       37 阅读
  8. python深度拷贝

    2024-04-30 11:44:05       33 阅读
  9. Python实现qq邮箱天气提醒推送

    2024-04-30 11:44:05       31 阅读