数组的字符串

Version >= Java SE 5

从 Java 1.5 开始,你可以获得指定数组内容的 String 表示,而无需迭代其每个元素。只需将 Arrays.toString(Object[])Arrays.deepToString(Object[]) 用于多维数组:

int[] arr = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));      // [1, 2, 3, 4, 5]

int[][] arr = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
System.out.println(Arrays.deepToString(arr));  // [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Arrays.toString() 方法使用 Object.toString() 方法生成数组中每个项目的 String 值,除了基本类型数组之外,它还可以用于所有类型的数组。例如:

public class Cat { /* implicitly extends Object */
    @Override
    public String toString() {
      return "CAT!";
    }
}

Cat[] arr = { new Cat(), new Cat() };
System.out.println(Arrays.toString(arr));        // [CAT!, CAT!]

如果该类没有被覆盖的 toString(),那么将使用来自 Object 的继承的 toString()。通常输出不是很有用,例如:

public class Dog {
    /* implicitly extends Object */
}

Dog[] arr = { new Dog() };
System.out.println(Arrays.toString(arr));        // [Dog@17ed40e0]