在线,数组是对象还是变量的问题是冲突的。是数组对象还是变量?
Blue Pelican Java书称它们是变量,但它们必须被实例化,所以我不确定。
答案 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
,这意味着没有对象。
答案 6 :(得分:0)
尝试使用此代码检查数组是否为对象。
String[] str=new String[] {"A","B","X"};
if (str instanceof Object){
System.out.println("Yes!");
}else{
System.out.println("No!");
}