数组:对象或变量

时间:2014-01-31 13:04:24

标签: java arrays

在线,数组是对象还是变量的问题是冲突的。是数组对象还是变量?

Blue Pelican Java书称它们是变量,但它们必须被实例化,所以我不确定。

7 个答案:

答案 0 :(得分:2)

我认为JavaDocs用一句话清楚了

  

数组是一个容器对象,它包含固定数量的单一类型的值

答案 1 :(得分:1)

首先,数组的实例是Java中的完全正确的对象。

其次,数组可以是变量的类型(但不是变量)。在这种情况下,当变量被实例化时,它将指向一个数组实例(它是一个对象)。

答案 2 :(得分:1)

我认为数组是对象。

答案 3 :(得分:1)

当你问“是数组对象还是变量?”我认为你的意思是“是数组对象,还是原始数据类型?”

数组是对象,指的是原始数据类型或其他对象的集合。

数组可以存储两种类型的数据:

  • 原始数据类型的集合
  • 对象集合

答案 4 :(得分:0)

数组纯粹是对象。根据java doc

答案 5 :(得分:0)

简单来说,变量是声明对象并访问它的方式。所以他们不是两个相互排斥的东西。

数组是一个对象,您可以使用变量来访问它。虽然数组是一个对象,但它可以包含基本类型的值(例如int[]),或者它可以包含类类型的对象(例如String[]

int[] arr1 = new int[2];
System.out.println(arr1[0]); //output: 0

这将创建一个数组对象,该对象可以包含两个基本类型int的值。可以使用变量arr1访问数组对象。由于数组包含基元,因此它们将初始化为默认值0(或false boolean)。

String[] arr2 = new String[2];
System.out.println(arr2[0]); //output: null

这将创建一个数组对象,该对象包含两个类类型为String的对象。可以使用变量arr2访问数组对象。由于数组包含对象,它最初将保持null,这意味着没有对象。

More about arrays from The Java Tutorials

答案 6 :(得分:0)

尝试使用此代码检查数组是否为对象。

 String[] str=new String[] {"A","B","X"};
 if (str instanceof Object){
     System.out.println("Yes!");
}else{
   System.out.println("No!");
}