如何将字符串转换为java列表?

iCo*_*unk 1 java string json list gson

我有一个像这样的字符串:

"[1,2,3,4,5,6,7,8,9]"
Run Code Online (Sandbox Code Playgroud)

如何将其转换为List,可以是int列表或字符串列表:

[1,2,3,4,5,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

我尝试使用Gson:

List list = new Gson().fromJson(string, List.class);
Run Code Online (Sandbox Code Playgroud)

它让我:

[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
Run Code Online (Sandbox Code Playgroud)

我可以将double转换为int但我确信有更好的方法.

Sot*_*lis 5

默认情况下,Gson Double用于任何数值.您需要指定所需的内容Integer

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

版画

[1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)

A TypeToken是一种获取泛型类型的黑客,以便Gson知道要使用什么.