簡體   English   中英

如何將字符串轉換為Java列表?

[英]How to convert a string to a java list?

我有一個像這樣的字符串:

"[1,2,3,4,5,6,7,8,9]"

如何將其轉換為列表,可以是整數列表或字符串列表:

[1,2,3,4,5,6,7,8,9]

我嘗試使用Gson:

List list = new Gson().fromJson(string, List.class);

它讓我:

[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]

我可以將double轉換為int,但是我確定有更好的方法。

默認情況下,Gson將Double用作任何數值。 您需要指定要Integer

List<Integer> list = new Gson().fromJson(json, new TypeToken<List<Integer>>() {}.getType());
System.out.println(list);

版畫

[1, 2, 3, 4, 5, 6, 7, 8, 9]

TypeToken是一種獲取通用類型的技巧 ,因此Gson知道使用什么。

除了Gson,您還可以執行以下操作:

String yourString = "[1,2,3,4,5,6,7,8,9]";
yourString = yourString.subString(1,yourString.length()-1) // get rid of '[' and ']'
List<String> list = new ArrayList<String>(Arrays.asList(yourString.split(",")));
String s = "[1,2,3,4]";
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(s);
List<Integer> integers = new ArrayList<Integer>();
while (m.find()) {
    integers.add(Integer.parseInt(m.group()));
}
System.out.println(integers);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM