首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何声明不同数据类型的数组

如何声明不同数据类型的数组
EN

Stack Overflow用户
提问于 2013-05-04 00:27:05
回答 4查看 90.2K关注 0票数 31

我正在使用Java中的数组,我有一个问题。我知道Java中的数组是相似数据类型的集合,如下所示:

代码语言:javascript
复制
int[] x = new int[]{1,2,3};

上面的声明可以读取为一个Integer数组,它是一个整数类型的集合。

请考虑以下内容:

代码语言:javascript
复制
Object[] x = new Object[]{1,2,3,"srk"};

在这里,我可以说上面的数组是不相似数据类型的集合,还是相似数据类型的Object数组,即对象?

我对此感到困惑和怀疑。在Java中,可以创建一个可以容纳不同数据类型的数组或任何类型的集合吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-04 00:30:49

Java扩展对象中的所有对象。

因此,当您通过将数组声明为对象数组来创建数组时,可能是完全非描述性的:

代码语言:javascript
复制
Object[] arr = new Object[6];

这段代码创建了一个长度为6的对象数组。

因此,例如,您可以创建一个数组,其中条目成对出现。在本例中,第一个对象是String,第二个对象是Integer。

代码语言:javascript
复制
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);

现在,如果您想要真正弄清楚这些对象是什么,那么它将需要一个强制转换:

代码语言:javascript
复制
int x = (Integer)arr[1];
票数 42
EN

Stack Overflow用户

发布于 2013-05-04 00:34:00

它完全按照你所想的那样工作:

代码语言:javascript
复制
Object[] x = new Object[]{1,2,3,"srk"};
for(Object o: x){
   System.out.println(o.getClass());
}

输出:

代码语言:javascript
复制
class java.lang.Integer
class java.lang.Integer
class java.lang.Integer
class java.lang.String
票数 4
EN

Stack Overflow用户

发布于 2013-05-04 00:33:02

在Java中,您可以创建对象数组

代码语言:javascript
复制
Object[] x = new Object[10];

您可以将对任何类的实例的引用分配给它的元素,因为Java中的任何类都是对象。

但它与原始数组不同。int[]只能包含int元素,long[]只能包含long,等等

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16363547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档