如何将一个字符串数组转换成列表?
如何将一个字符串数组转换成列表?
这个问题已经有了答案:
从数组创建ArrayList
将字符串数组转换为java.util.List
我有一个Java项目,它咨询一个API,该API返回一个类似于String
的字符串:
"['test1', 'test2', 'test3']" // the array is a string
基本上就是将数组对象解析成String
。我想知道将其转换为真正的Java List
的最佳方法。
['test1', 'test2', 'test3']
是一个JSON数组,因此可以使用Gson或Jackson来解析它。尽管JSON通常要求在String
值周围使用双引号,但Gson仍将解析单引号:
String json = "['test1', 'test2', 'test3']"; Type listType = new TypeToken>() {}.getType(); List
list = new Gson().fromJson(json, listType); System.out.println(list); // [test1, test2, test3]
或者您可以使用正则表达式。假设值不能包含转义的单引号\'
符号:
String text = "['test1', 'test2', 'test3']"; Pattern pattern = Pattern.compile("'([^']+)'"); Matcher matcher = pattern.matcher(text); Listlist = new ArrayList<>(); while (matcher.find()) { list.add(matcher.group(1)); } System.out.println(list); // [test1, test2, test3]