Reverse (parse the output) of Arrays.toString(int[])

Thilo picture Thilo · Jan 19, 2009 · Viewed 15.4k times · Source

Is there in the JDK or Jakarta Commons (or anywhere else) a method that can parse the output of Arrays.toString, at least for integer arrays?

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

Answer

Sam picture Sam · Jan 19, 2009

Pretty easy to just do it yourself:

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