下面代码阵列零长度的在Java
public class Example {
static int[] member;
public static void main(String[] args) {
int[] ic = new int[0];
if (ic == null){
System.out.println("ic is null");
}
System.out.println(ic); // [[email protected]
if(member == null){
System.out.println("member is null");
}
}
}
很明显,元件不能零长度数组加入。
ic
指的是什么,如果ic
不是null
?
根据下图,指向内存位置659e0bfd
(它是空的)是ic
?
根据上述代码在内存地址为'659e0bfd'的空数组? – overexchange
@proxchange为数组输出的哈希码可能与内存地址有关,但它不是内存地址本身。请参阅http://stackoverflow.com/questions/2237720/what-is-an-objects-hash-code-if-hashcode-is-not-overridden –
@overchange是'obj1 == obj2'检查两个变量参考内存中的同一个对象。 Java没有获取内存地址的机制。 – manouti