Object[] 数组可以容纳什么?
我是Java编程语言的新手,有一个关于数组的问题。 数组保存字符串。 数组包含其他数组。数组呢?显然,这些将成立。但是,既然是Java中所有内容的超类,这是否意味着数组可以容纳Java中的每种类型的?换句话说,数组是否可以保存作为创建数组以保存的对象的子类的对象?数组可以保存整数吗?String[]
Array[]
Object[]
Object
Object
Object[]
Object
Number[]
我是Java编程语言的新手,有一个关于数组的问题。 数组保存字符串。 数组包含其他数组。数组呢?显然,这些将成立。但是,既然是Java中所有内容的超类,这是否意味着数组可以容纳Java中的每种类型的?换句话说,数组是否可以保存作为创建数组以保存的对象的子类的对象?数组可以保存整数吗?String[]
Array[]
Object[]
Object
Object
Object[]
Object
Number[]
是的,但是您可以通过一个小程序亲自尝试来学到很多东西:
public class Example {
public static void main(String[] args) {
String string = "String";
Integer integer = new Integer(1);
int integerPrimitive = 2;
Float floatBoxed = new Float(1.23);
float floatPrimitive = 1.23f;
// Can hold different types inheriting from Object
Object[] objects = new Object[] {
string,
integer,
integerPrimitive,
floatBoxed,
floatPrimitive };
// Can hold anything that inherits from Number; cannot hold a String
Number[] numbers = new Number[] {
integer,
integerPrimitive,
floatBoxed,
floatPrimitive };
for (int i = 0; i < objects.length; i++) {
System.out.println("objects[" + i + "] = " + objects[i]);
}
for (int i = 0; i < numbers.length; i++) {
System.out.println("numbers[" + i + "] = " + numbers[i]);
}
}
}
输出:
objects[0] = String
objects[1] = 1
objects[2] = 2
objects[3] = 1.23
objects[4] = 1.23
numbers[0] = 1
numbers[1] = 2
numbers[2] = 1.23
numbers[3] = 1.23
了解数组容器可以容纳的内容的关键是首先观察对象类型是否相同,或者对象是否是数组容器类型的子类。
在你的问题中,如果一个数字
可以容纳一个整数
,你应该在 Javadocs 中看到它从 中继承的继承。您还可以看到 从 继承。Integer
Number
Number
Object