Java將String字符串帶括號(hào)轉(zhuǎn)成List的簡(jiǎn)單方法
問(wèn)題現(xiàn)象
今天在做一個(gè)需求:將存入數(shù)據(jù)庫(kù)中的數(shù)據(jù)讀到后解析成list遍歷分析
數(shù)據(jù)格式:
"[1677660600000, 1677660900000, 1677661200000]"
"[5, 4, 4,3,2,0,0]"
我一開(kāi)始想到的就是使用逗號(hào)分割即可
結(jié)果變成了這樣的列表:
我沒(méi)有想到開(kāi)頭和結(jié)尾的[],這樣就會(huì)導(dǎo)致列表中第一個(gè)數(shù)據(jù)和最后一個(gè)數(shù)據(jù)轉(zhuǎn)不成double
解決問(wèn)題
后來(lái)想到轉(zhuǎn)json格式,確實(shí)是把括號(hào)轉(zhuǎn)沒(méi)了,但是怎么獲取到值呢
可以看到得到了size的數(shù)量也對(duì)
但是使用parse.size沒(méi)有這個(gè)方法,取不到長(zhǎng)度我就沒(méi)法去遍歷
然后就轉(zhuǎn)換成list 使用Arrays.asList()方法轉(zhuǎn)一下結(jié)果發(fā)現(xiàn)還是不對(duì)
用jsonArray接收也不行
最后使用了強(qiáng)制轉(zhuǎn)換成list可以了
predictResults.getTimeArr()是字符串,里面存的是時(shí)間戳
"[1677660600000, 1677660900000, 1677661200000]"
List<Object> timeStrings = (List<Object>) JSON.parse(predictResults.getTimeArr()); List<Object> leverStrings = (List<Object>) JSON.parse(predictResults.getLevelArr());
ok,解決了
附:Java 字符串或字符串?dāng)?shù)組轉(zhuǎn)為 List
問(wèn)題描述
由于從客戶端傳到后臺(tái)的請(qǐng)求參數(shù)是 json 封裝的,其中有個(gè)參數(shù)值是字符串?dāng)?shù)組(如:[“path1”,”path2”,”path3”]),需要將其轉(zhuǎn)為 List,然后在循環(huán)中利用每個(gè)值。
解決方法
通過(guò)分隔符將字符串?dāng)?shù)組轉(zhuǎn)為 String[] , 然后將該數(shù)組中的每個(gè)值添加至 List 對(duì)象,處理如下:
// 路徑列表 形如 ["path1","path2","path3"] String path = json.getString("fileSavePathList"); String[] pathArr = (path.substring(1, path.length() - 1)).split(","); // 使用Arrays.asList 轉(zhuǎn)換 List<String> pathList = Arrays.asList(pathArr); 另外,下面這種方法也行,但代碼不夠簡(jiǎn)潔 // 用于存放字符串的 list List<String> pathList = new ArrayList<String>(); for (String path : pathArr) { ? pathList.add(path); }
總結(jié)
到此這篇關(guān)于Java將String字符串帶括號(hào)轉(zhuǎn)成List的文章就介紹到這了,更多相關(guān)Java String字符串轉(zhuǎn)List內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBootWeb?入門了解?Swagger?的具體使用
這篇文章主要介紹了SpringBootWeb?入門了解?Swagger?的具體使用,Swagger?框架可以根據(jù)已經(jīng)實(shí)現(xiàn)的方法或者類,通過(guò)頁(yè)面的方式直觀清晰的查看或者進(jìn)行測(cè)試該方法,需要的朋友可以參考下2024-08-08mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過(guò)程淺析
這篇文章主要介紹了mybatis plus動(dòng)態(tài)數(shù)據(jù)源切換及查詢過(guò)程淺析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12JVM內(nèi)存管理之JAVA語(yǔ)言的內(nèi)存管理詳解
下面小編就為大家?guī)?lái)一篇JVM內(nèi)存管理之JAVA語(yǔ)言的內(nèi)存管理詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08Java對(duì)象級(jí)別與類級(jí)別的同步鎖synchronized語(yǔ)法示例
這篇文章主要為大家介紹了Java對(duì)象級(jí)別與類級(jí)別的同步鎖synchronized語(yǔ)法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03Java用 Rhino/Nashorn 代替第三方 JSON 轉(zhuǎn)換庫(kù)
本篇文章主要介紹了Java用 Rhino/Nashorn 代替第三方 JSON 轉(zhuǎn)換庫(kù),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05MyBatis-Plus模糊查詢特殊字符串轉(zhuǎn)義的實(shí)現(xiàn)
使用MyBatis中的模糊查詢時(shí),當(dāng)查詢關(guān)鍵字中包括有_、\、%時(shí),查詢關(guān)鍵字失效,本文主要介紹了MyBatis-Plus模糊查詢特殊字符串轉(zhuǎn)義的實(shí)現(xiàn),感興趣的可以了解一下2024-06-06