反转(解析输出)Arrays.toString(int )

在JDK或Jakarta Commons(或其他任何地方)中是否存在可以解析Arrays.toString输出的方法,至少对于整数数组?

int[] i = fromString(Arrays.toString(new int[] { 1, 2, 3} ); 

很容易自己做:

 public class Test { public static void main(String args[]){ int[] i = fromString(Arrays.toString(new int[] { 1, 2, 3} )); } private static int[] fromString(String string) { String[] strings = string.replace("[", "").replace("]", "").split(", "); int result[] = new int[strings.length]; for (int i = 0; i < result.length; i++) { result[i] = Integer.parseInt(strings[i]); } return result; } } 

带有fastjson的示例,一个JSON库:

  String s = Arrays.toString(new int[] { 1, 2, 3 }); Integer[] result = ((JSONArray) JSONArray.parse(s)).toArray(new Integer[] {}); 

另一个番石榴样品:

  String s = Arrays.toString(new int[] { 1, 2, 3 }); Iterable i = Splitter.on(",") .trimResults(CharMatcher.WHITESPACE.or(CharMatcher.anyOf("[]"))).split(s); Integer[] result = FluentIterable.from(i).transform(Ints.stringConverter()) .toArray(Integer.class); 

您还可以使用Apache Commons的StringUtils中的 split / join