是否可以在Java中导入“数组类型”?
我知道这将是一个无用的导入,但我们可以显式导入java.util.String
(尽管自动导入java.lang
),甚至是当前编译单元中定义的类... < / p>
是否有可能进行这种荒谬的导入?
答案 0 :(得分:4)
不,您无法导入数组类型。就像您无法导入int
或double
答案 1 :(得分:1)
Array更多是由该语言定义的原始类型。当您编写int[] a = new int[5];
时,您实际正在做的是留出5个可以保存原始int类型的内存位置。任何其他数组声明都会发生同样的事情。换句话说,你无法从java中导入它。
答案 2 :(得分:0)
你不能,而且Java中也没有单一的数组类型。从不同元素类型创建的数组类型本身会有所不同。
如果您尝试编译此代码,很容易看到:
String [] stringArray = new String[4];
Object [] objectArray = new Object[4];
objectArray = stringArray; //This won't work even though individually every String can be cast to Object
答案 3 :(得分:0)
没必要。理解了T
类型后,系统会自动了解T[], T[][], T[][][]...
。对于编译器和运行时都是如此。 有效,导入T
后,导入所有T[]...
;一旦类加载器加载T
,所有T[]...
都由同一个类加载器加载。