爪哇:如果类字面被施加到原语类型产生什么类型的对象?(Java: an object of what

2019-10-22 01:14发布

据我所知,有在Java中的功能,称为一类的文字,其中,用于一类的名字,使JVM生产类型的对象Class<?> ,这是一个通用类。 更具体地讲,下面的结构是正确的:

Class<type> o = type.class;

其中, type是任何类型的可使用的名称。

什么混淆我是两个事实的组合。 第一,该类字面可以与原始类型被用于这样的,即,构造等int.class是完全有效的。 第二,一个人的不允许使用原始类型参数化泛型,这意味着象的构建体Class<int> c; 不会编译。

鉴于以上所有中,使用什么类型的Class中的类型参数Class<?> c = int.class; 声明?

谢谢!

Answer 1:

它只是一个Class<Integer>

Class<Integer> o = int.class;

甚至如果使用基本类型类表示,它仍然是一个Class<Integer>

Class<Integer> o = Integer.TYPE;


文章来源: Java: an object of what type is produced if the class literal is applied to the primitive type?