我在net中读取并找到引用数组存储引用。意义上的参考数组将会存储变量的内存地址我猜如果我没有弄错。如果这就是为什么我没有看到内存地址,当我通过字符串数组循环如下。原始数组和引用数组之间有什么区别?
String[] arrNames = new String[3];
arrNames[0] = "John";
arrNames[1] = "Mac";
arrNames[2] = "Alex";
现在,作为每定义的arrNames阵列将要存储在arrNames参考文献[0],arrNames [1],arrNames [2]。这意味着将指向名称的存储器地址,即约翰,马克斯和亚历克斯。
如果它是Primitive数组,它将直接存储下面的值。
int[] Num = new int[3];
Num[0] = 1;
Num[1] = 2;
Num[2] = 3;
Num [0]将直接持有Numbers 1,而不是指向数字的地址。
请纠正我,如果我误解了它。
这是相同的,为原始可变和对象变量之间的差,所不同的是有更多。 Java故意隐藏你的地址。 – 2013-02-25 05:18:52
所以一个对象变量会存储内存地址 – 2013-02-25 05:19:37
不,对象变量存储对象的“引用”,这是一个抽象的东西,Java真的不想让你担心。在低级别,是的,它基本上是一个指针。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.3.1 – 2013-02-25 05:20:17