0

我在 net 中阅读并找到了引用数组存储引用。从某种意义上说,数组将存储变量的内存地址我猜如果我没记错的话。如果是这种情况,为什么我在循环遍历字符串数组时看不到内存地址,如下所示。

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

现在根据定义,arrNames 数组将在 arrNames[0]、arrNames[1]、arrNames[2] 处存储引用。这意味着内存地址将指向名称,即约翰、马克斯和亚历克斯。

如果它是原始数组,它会直接存储如下值。

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

Num[0] 将直接保存数字 1 而不是指向数字的地址。

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

4

2 回答 2

1

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

于 2013-02-25T05:22:57.103 回答
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
于 2013-02-25T08:51:12.397 回答