如果Array是相同数据类型的集合,那么如何在一个数组中存储不同的数据类型?

Gan*_*esh -3 java arrays oop object

实际上java的专家说,你可以通过使用Object类的对象来实现这一点,这是java中的宇宙超类.如果有可能那么我们如何定义一个数组是同一数据类型的集合?

Ell*_*sch 8

在Java中,一个阵列是一个Collection.您的专家似乎正在引用一个根类型的数组,如

 Object[] array = { "Test", 1, 1.0 };
 for (Object obj : array) {
   System.out.println(obj.getClass());
 }
Run Code Online (Sandbox Code Playgroud)

输出是

class java.lang.String
class java.lang.Integer
class java.lang.Double
Run Code Online (Sandbox Code Playgroud)

这是可能的,因为每个Java类型都扩展Object(隐式或显式),Java可以自动放映原始类型.来自Javadoc -

Class Object是类层次结构的根.每个班级都有Object一个超类.所有对象(包括数组)都实现此类的方法.