题 反转(解析输出)Arrays.toString(int [])[复制]


这个问题在这里已有答案:

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

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

16
2018-01-19 02:24


起源




答案:


很容易自己做:

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;
  }
}

23
2018-01-19 02:47





带有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<String> i = Splitter.on(",")
        .trimResults(CharMatcher.WHITESPACE.or(CharMatcher.anyOf("[]"))).split(s);
    Integer[] result = FluentIterable.from(i).transform(Ints.stringConverter())
        .toArray(Integer.class);

1
2017-11-05 10:05





你也可以使用Apache Commons的分组/连接 StringUtils的


0
2018-06-16 15:01