在Java中将类数组的String转换为ArrayList

时间:2017-11-14 19:22:37

标签: java arrays json arraylist gson

我一直试图像这样转换字符串:" [1,2,3]"到Java中的ArrayList。 到目前为止我尝试使用GSon库将上面提到的String转换为List:

  1. Gson - convert from Json to a typed ArrayList<T>
  2. Convert Gson Array to Arraylist
  3. Parsing JSON array into java.util.List with Gson
  4. 但它以异常结束(如果需要,我可以提供更多详细信息)。第一个问题应该是实际上是否是实现这种转变的好方法?

2 个答案:

答案 0 :(得分:3)

非正则表达式方法是从字符串中删除括号,然后在逗号上拆分。然后转换为ArrayList。

String s = "[1, 2, 3]";
String[] splits =  s.replace("[","").replace("]","").split(",");
ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(splits));

答案 1 :(得分:0)

我建议您使用正则表达式将字符串从“[1,2,3,...]”转换为“1,2,3,...”,然后使用Arrays类的asList()方法将其转换为将其转换为List。

请参阅以下代码段

import java.util.regex.*;
...
...
String str = "[1,2,3,4,5,6,7,8,9,10]";
str = str.replaceAll("[(*)])","$1");
List<String> items = Arrays.asList(str.split("\\s*,\\s*"));