代码之家  ›  专栏  ›  技术社区  ›  pidabrow

在Java中将类似数组的字符串转换为ArrayList[重复]

  •  2
  • pidabrow  · 技术社区  · 8 年前

    我一直在尝试将这样的字符串:“[1,2,3]”转换为Java中的ArrayList。 到目前为止,我尝试使用GSon库将上述字符串转换为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

    但它以一个例外结束(如果需要的话,我可以提供更多细节)。第一个问题实际上应该是,这是否是实现这种转变的好方法?

    2 回复  |  直到 8 年前
        1
  •  4
  •   SirCipher    8 年前

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

    String s = "[1, 2, 3]";
    String[] splits =  s.replace("[","").replace("]","").split(",");
    ArrayList<String> arrayList = new ArrayList<>(Arrays.asList(splits));
    
        2
  •  0
  •   H. Sodi    8 年前

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

    请参阅以下代码段

    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*"));