[英]Java - is an array of type Class<? extends MyType> possible?
[英]Is it possible to import the array type, in Java?
是否可以在Java中导入“数组类型”?
我知道这将是无用的导入,但是我们可以显式导入java.util.String
(尽管会自动导入java.lang
),甚至可以导入当前编译单元中定义的类...
是否可以进行这种荒谬的导入?
不,您不能导入数组类型。 就像你不能导入int
或double
数组更多是由语言定义的原始类型。 当您编写int[] a = new int[5];
您实际上在做的是预留5个可以容纳原始int类型的内存位置。 任何其他数组声明也会发生相同的情况。 换句话说,您不能从Java导入它。
您不能,而且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
没必要 一旦理解了类型T
就会自动理解T[], T[][], T[][][]...
对于编译器和运行时都是如此。 实际上 ,一旦导入T
,所有T[]...
都将导入; 一旦T
由类加载器加载,所有T[]...
都由同一个类加载器加载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.