Primitive数组和Reference of Array之间有什么区别。

时间:2013-02-25 05:16:50

标签: java arrays

我在net和Found参考数组存储引用中读取。参考意义上的数组将存储变量的内存地址我猜猜我是不是错了。如果是这种情况,为什么当我通过字符串数组循环时,我没有看到内存地址。

  String[] arrNames = new String[3];
  arrNames[0]       = "John";
  arrNames[1]       = "Mac";
  arrNames[2]       = "Alex";

现在按照定义,arrNames数组将在arrNames [0],arrNames [1],arrNames [2]中存储引用。这意味着内存地址将指向Names,即John,Max和Alex。

如果它是Primitive数组,它将直接存储如下的值。

 int[] Num = new int[3];
 Num[0]    = 1;
 Num[1]    = 2;
 Num[2]    = 3;

Num [0]直接持有Numbers 1而不是指向数字的地址。

如果我误解了,请纠正我。

2 个答案:

答案 0 :(得分:1)

在java中没有原始数组。即使我们在数组中有原始值,那么数组本身也被视为数组对象。

答案 1 :(得分:0)

原始数组和引用数组是完全相似的对象。

此外,默认值也适用于基本数组:

int[] myPrimitiveArray = new int[1];

assertTrue(myPrimitiveArray[0], 0)     //passed since 0 by default in each cell

同样:

Integer[] myReferenceArray = new Integer[1];

assertTrue(myPrimitiveArray[0], 0)     //passed since 0 by default in each cell