打印数组初始化的引用变量时会发生什么?
int[] it=new int[10];
sop(it);
结果如何?
答案 0 :(得分:3)
int[] it = new int[10];
System.out.println(it);
it
是一个对象,因此您正在调用println(Object)
PrintStream
Object的toString()
,它在内部调用传递的对象上的System.out
。数组“toString()
类似于hashCode()
的Class.getName()
JavaDoc:
toString()
所以输出结果如下:
getClass().getName() + "@" + Integer.toHexString(hashCode());
其中[I@756a7c99
代表数组的深度,[
代表I
。 int
是从Arrays.toString()
返回的十六进制数值。
阅读{{3}}。
要打印数组,请使用{{3}},例如:
756a7c99
<强>输出:强>
int[] it = new int[10];
System.out.println(Arrays.toString(it));
答案 1 :(得分:0)
假设sop
为System.out.println
,它将显示toString
方法返回的字符串结果。在这种情况下,它将是类的名称+“@”+哈希码的六进制。
答案 2 :(得分:0)
像[I@30c221
这是新阵列的内存地址
int[] it=new int[10];
System.out.println(it);