Java 打印空数组
为了测试程序,我编写了以下语句:Java 打印空数组,java,arrays,Java,Arrays,为了测试程序,我编写了以下语句: public class asdf{ public static void main(){ int arr[] = new int[5]; System.out.println(arr); } } 我得到的结果是: [I@1df6ed6 这是一个垃圾值还是其他什么?垃圾值实际上是数组的地址(它存储在内存中的位置) 如果要打印内容,首先需要导入java.util.Arrays然后 System.out.println(Arrays.to
public class asdf{
public static void main(){
int arr[] = new int[5];
System.out.println(arr);
}
}
我得到的结果是:
[I@1df6ed6
这是一个垃圾值还是其他什么?垃圾值实际上是数组的地址(它存储在内存中的位置)
如果要打印内容,首先需要导入java.util.Arrays代码>然后
System.out.println(Arrays.toString(myArray);
正在打印的是对象的名称。为了让对象打印人类可读的字符串,它必须以人类可读的方式实现
toString()
。每次执行一个程序时,内存地址都会发生变化,并且通常以一种不是特别有用的方式表示(除非您正在对操作系统执行深度魔法)
一种方法是使用该实用程序将数组的每个元素转换为
字符串
,我实际上想知道是什么[I@1df6ed6因为我以前从未遇到过这个问题。这个值也有名称。它只是数组的地址。它指向内存中的数组。在Java中,这可能对您没有什么用处。请看。实际上,正如ricky在下面指出的,从技术上讲,它不是地址,而是散列。我不是Java专家,但我想您可能知道在打印之前,不必将数组转换为字符串。可能的重复不是因为它真的很重要,而是它真的很重要,这有点不同。