文章目录

  • 前言
  • System.out.println()语句直接打印数组出错
  • Java打印一维数组的方法
  • 1.for 和for-each循环
  • 1.for循环
  • 2.for-each 循环示例:
  • 2. Arrays.toString() 方法
  • 3. Arrays.deepToString() 方法
  • 4. Arrays.asList() 方法



前言

System.out.println()语句直接打印数组出错

int[] intArray = {1,2,3,4,5,6};
System.out.println(intArray);
// output: [I@74a14482

上文中输出的内容是 [I@74a14482, [ 表示数组, I 表示 int 数据类型(数组的数据类型)。 74a14482 是数组的无符号十六进制 hash 值。

Java打印一维数组的方法

1.for 和for-each循环

1.for循环

int[] intArray = {1,2,3,4,5,6};

for(int i=0; i<intArray.length; i++){
    System.out.print(intArray[i]);
    // output: 123456
}

Java 的包装类都重写了 Object.toString() ,返回数组元素的字符串形式。

2.for-each 循环示例:

int[] intArray = {1,2,3,4,5,6};
for(int i : intArray){
    System.out.print(intArray[i]);
    // output: 123456
}

2. Arrays.toString() 方法

Arrays.toString() 是 java.util 包下数组类的一个静态方法。它返回指定数组内容的字符串形式。这种方法可以用来打印一维数组。
数组元素被转换为字符串,调用了 String.valueOf() 方法,例如:

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

注意:此方法不适用于多维数组。在多维数组中, Object.toString() 会打印数组元素的内存地址而不是内容。

3. Arrays.deepToString() 方法

Arrays.deepToString() 返回数组“深层内容”的字符串形式。

对于基本类型数组,通过重载调用 Arrays.toString() 方法将其转换为字符串。
该方法用于多维数组。
引用类型的一维数组也可以用 Arrays.deepToString() 方法打印。 例如:

Integer[] intArray = {1,2,3,4,5,6};
System.out.println(Arrays.deepToString(intArray));
// output: [1, 2, 3, 4, 5, 6]

4. Arrays.asList() 方法

此方法返回固定大小(数组长度)的列表。

Integer[] intArray = {1,2,3,4,5,6};
System.out.println(Arrays.asList(intArray));
// output: [1, 2, 3, 4, 5, 6]

因为 List 是对象列表集合,所以数据类型由 int 变为 Integer。当我们把数组转换为列表时,数组应该是引用类型。
注意:不能使用此方法打印多维数据。