8.3 显示数组

可用 println 显示数组,但结果很可能不是你所希望的。例如,下面的代码片段声明了一个数组变量,让它指向一个包含 4 个元素的数组,并试图用 println 显示这个数组的内容:

  1. int[] a = {1, 2, 3, 4};
  2. System.out.println(a);

遗憾的是,输出类似于以下这样:

  1. [I@bf3f7e0

方括号表明值是一个数组,I 表示整数,余下的内容是这个数组的地址。要想显示数组的元素,需要分别显示它们:

  1. public static void printArray(int[] a) {
  2. System.out.print("{" + a[0]);
  3. for (int i = 1; i < a.length; i++) {
  4. System.out.print(", " + a[i]);
  5. }
  6. System.out.println("}");
  7. }

给定前面的数组,该方法的输出如下:

  1. {1, 2, 3, 4}

Java 库包含实用工具类 java.util.Arrays,这个类提供了处理数组的方法。其中一个方法是 toString,用于返回数组的字符串表示。你可以像下面这样调用:

  1. System.out.println(Arrays.toString(a));

输出如下:

  1. [1, 2, 3, 4]

与往常一样,必须先导入才能使用 java.util.Arrays。注意,字符串格式与前面的输出格式稍有不同,它使用方括号而不是大括号。但以这种格式输出时无需编写方法 printArray