繁体   English   中英

Primitive array和Reference Array有什么区别?

[英]What is the difference Between Primitive array and Array of Reference .

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

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

现在按照定义,arrNames数组将把引用存储在arrNames [0],arrNames [1],arrNames [2]处。 这意味着将指向名称(即John,Max和Alex)的内存地址。

如果它是原始数组,则将直接存储如下所示的值。

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

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

如果我误会了请纠正我。

在Java中,没有原始数组。 即使我们在数组中具有原始值,但数组本身仍被视为数组对象。

基本数组和引用数组是完全相似的对象。

此外,默认值也适用于原始数组:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM