我正在使用Java中的数组,我有一个问题。我知道Java中的数组是相似数据类型的集合,如下所示:
int[] x = new int[]{1,2,3};上面的声明可以读取为一个Integer数组,它是一个整数类型的集合。
请考虑以下内容:
Object[] x = new Object[]{1,2,3,"srk"};在这里,我可以说上面的数组是不相似数据类型的集合,还是相似数据类型的Object数组,即对象?
我对此感到困惑和怀疑。在Java中,可以创建一个可以容纳不同数据类型的数组或任何类型的集合吗?
发布于 2013-05-04 00:30:49
Java扩展对象中的所有对象。
因此,当您通过将数组声明为对象数组来创建数组时,可能是完全非描述性的:
Object[] arr = new Object[6];这段代码创建了一个长度为6的对象数组。
因此,例如,您可以创建一个数组,其中条目成对出现。在本例中,第一个对象是String,第二个对象是Integer。
Object[] arr = new Object[6];
arr[0] = new String("First Pair");
arr[1] = new Integer(1);
arr[2] = new String("Second Pair");
arr[3] = new Integer(2);
arr[4] = new String("Third Pair");
arr[5] = new Integer(3);现在,如果您想要真正弄清楚这些对象是什么,那么它将需要一个强制转换:
int x = (Integer)arr[1];发布于 2013-05-04 00:34:00
它完全按照你所想的那样工作:
Object[] x = new Object[]{1,2,3,"srk"};
for(Object o: x){
System.out.println(o.getClass());
}输出:
class java.lang.Integer
class java.lang.Integer
class java.lang.Integer
class java.lang.String发布于 2013-05-04 00:33:02
在Java中,您可以创建对象数组
Object[] x = new Object[10];您可以将对任何类的实例的引用分配给它的元素,因为Java中的任何类都是对象。
但它与原始数组不同。int[]只能包含int元素,long[]只能包含long,等等
https://stackoverflow.com/questions/16363547
复制相似问题