文章目录
前言
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。当我们把数组转换为列表时,数组应该是引用类型。
注意:不能使用此方法打印多维数据。