最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)字符串轉List的常見方式總結

 更新時間:2026年03月26日 09:27:57   作者:小高學習java  
在Java開發(fā)中,常需將字符串轉換為List類型,本文為大家介紹了幾種常見轉換方式,即Arrays.asList()方法,Stream API,Guava庫和Apache Commons Lang庫,感興趣的小伙伴可以了解下

在Java開發(fā)中,我們經(jīng)常需要將字符串轉換為List類型,以便進行后續(xù)處理。下面介紹幾種常見的字符串轉List的方式,并給出相應的使用教程。

一、使用Arrays.asList()方法

如果你有一個由逗號分隔的字符串,并希望將其拆分為一個List,你可以使用Arrays.asList()配合String.split()方法來實現(xiàn)。

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.

五、方法補充

以下代碼演示了使用阿里巴巴 Fastjson 庫將 JSON 字符串轉換為 Java 對象列表的兩種常用方式。

方式一:通過 JSONObject.parseObject 結合 TypeReference 實現(xiàn)泛型反序列化。首先創(chuàng)建空的 ArrayList 對象,然后調(diào)用 parseObject 方法,傳入 JSON 字符串和 TypeReference<List> 類型引用,即可將 JSON 數(shù)組轉換為指定泛型類型的對象列表。這種方式適用于需要明確指定泛型類型的場景,能夠避免類型擦除問題。

方式二:通過 JSONArray.parseArray 直接進行轉換。該方法更加簡潔,直接傳入 JSON 字符串和目標類的 Class 對象,即可快速將 JSON 數(shù)組轉換為對應類型的列表。這種方式適用于結構簡單、類型明確的場景。

兩種方式均可實現(xiàn) JSON 到 Java 列表的轉換,方式一通過 TypeReference 保留了泛型信息,方式二則更加簡潔直觀,開發(fā)者可根據(jù)實際需求和編碼習慣選擇使用。

import com.alibaba.fastjson.TypeReference;
import com.alibaba.fastjson.JSONObject;
String str = "[
  {
    "id": 5,
    "nodeIdArr": "[\"221\",\"222\"]",
    "nodeNameArr": "[\"enb_221\",\"2222\"]",
    "upperLimitOfTheBusyTimeThreshold": 9,
    "lowerLimitOfTheBusyTimeThreshold": 2,
    "dateRangeBeginTime": 1701648000000,
    "dateRangeEndTime": 1701682200000,
    "createTime": 1701676594000,
    "updateTime": 1701737385000,
    "activeState": "1"
  },
  {
    "id": 6,
    "nodeIdArr": "[\"2003\",\"501\",\"10010\"]",
    "nodeNameArr": "[\"CityA\",\"501\",\"Vir1\"]",
    "upperLimitOfTheBusyTimeThreshold": 9,
    "lowerLimitOfTheBusyTimeThreshold": 2,
    "dateRangeBeginTime": 1701648000000,
    "dateRangeEndTime": 1701682200000,
    "createTime": 1701676641000,
    "updateTime": 1701737382000,
    "activeState": "1"
  }]"
List<BusyTimeIndicatorAlarmThreshold> busyTimeIndicatorAlarmThresholdList = new ArrayList<>();
busyTimeIndicatorAlarmThresholdList = JSONObject.parseObject(str, new TypeReference<List<BusyTimeIndicatorAlarmThreshold>>() {});

方式一

List busyTimeIndicatorAlarmThresholdList = new ArrayList<>();
busyTimeIndicatorAlarmThresholdList = JSONObject.parseObject(str, new TypeReference<List>() {});

方式二

List userList = JSONArray.parseArray(str, User.class);

到此這篇關于Java實現(xiàn)字符串轉List的常見方式總結的文章就介紹到這了,更多相關Java字符串轉List內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Springboot微服務打包Docker鏡像流程解析

    Springboot微服務打包Docker鏡像流程解析

    這篇文章主要介紹了Springboot微服務打包Docker鏡像流程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • IntelliJ IDEA 常用設置(配置)吐血整理(首次安裝必需)

    IntelliJ IDEA 常用設置(配置)吐血整理(首次安裝必需)

    這篇文章主要介紹了IntelliJ IDEA 常用設置(配置)吐血整理(首次安裝必需),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • SpringBoot整合Camunda工作流實踐

    SpringBoot整合Camunda工作流實踐

    工作流是任務序列的組織方式,BPMN是業(yè)務流程建模標準,Activiti、Flowable、Camunda均源自JBPM,通過分叉發(fā)展形成不同技術路線,支持多種數(shù)據(jù)庫,且可與SpringBoot集成部署流程
    2025-09-09
  • Java中的對象流總結(必看篇)

    Java中的對象流總結(必看篇)

    下面小編就為大家?guī)硪黄狫ava中的對象流總結(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • SpringBoot中處理跨域資源的5種實現(xiàn)方法與對比

    SpringBoot中處理跨域資源的5種實現(xiàn)方法與對比

    這篇文章主要為大家詳細介紹了SpringBoot中處理跨域資源的5種實現(xiàn)方法并進行簡單對比,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2026-01-01
  • SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法

    SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法

    這篇文章主要介紹了SpringBoot如何優(yōu)雅的處理校驗參數(shù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • 關于spring中bean注冊的優(yōu)先級分析

    關于spring中bean注冊的優(yōu)先級分析

    Spring框架中,Bean的定義方式主要有三種:XML定義、注解掃描和配置類中的@Bean注解,在Bean注冊過程中,XML定義的GenericBeanDefinition優(yōu)先級最高
    2024-09-09
  • 使用Java繪制心形動畫的代碼示例

    使用Java繪制心形動畫的代碼示例

    Java動態(tài)愛心代碼是一種簡單而精美的動態(tài)效果,這篇文章主要介紹了使用Java繪制心形動畫的代碼示例,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-06-06
  • SpringSecurity rememberme功能實現(xiàn)過程解析

    SpringSecurity rememberme功能實現(xiàn)過程解析

    這篇文章主要介紹了SpringSecurity rememberme功能實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • SpringLDAP目錄服務之LdapTemplate與LDAP操作方式

    SpringLDAP目錄服務之LdapTemplate與LDAP操作方式

    本文將深入探討Spring LDAP的核心概念、LdapTemplate的使用方法以及如何執(zhí)行常見的LDAP操作,幫助開發(fā)者有效地將LDAP集成到Spring應用中,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04

最新評論

肃宁县| 临沭县| 灌阳县| 手机| 商丘市| 读书| 盖州市| 灌阳县| 清远市| 洪雅县| 阳曲县| 龙山县| 淮南市| 浦东新区| 隆子县| 叙永县| 阳高县| 铜鼓县| 淳化县| 柳河县| 旺苍县| 酒泉市| 石狮市| 昭苏县| 广丰县| 济源市| 永登县| 缙云县| 大理市| 铁岭县| 武川县| 东山县| 瑞昌市| 徐水县| 乡宁县| 抚顺县| 唐山市| 胶州市| 镇沅| 盘锦市| 兰西县|