Java 基本体是否有关联的类对象
我是一个新的反思者,我希望能抓住这个概念 如有可能,请举例说明以下陈述 类对象 在对类进行任何检查之前,您需要获取其java.lang.class对象 Java中的所有类型,包括基本类型(int、long、float等),包括数组,都有一个关联的类对象。 int(primitive)的关联类对象是什么样子的 我无法理解突出显示的文本Java 基本体是否有关联的类对象,java,reflection,Java,Reflection,我是一个新的反思者,我希望能抓住这个概念 如有可能,请举例说明以下陈述 类对象 在对类进行任何检查之前,您需要获取其java.lang.class对象 Java中的所有类型,包括基本类型(int、long、float等),包括数组,都有一个关联的类对象。 int(primitive)的关联类对象是什么样子的 我无法理解突出显示的文本 链接以供参考-您可以从包装器对象上的静态方法获取它们,例如。从Integer.TYPEJavadoc: 表示基元类型int的类实例 根据,它们与装箱原语的类等效,因
链接以供参考-您可以从包装器对象上的静态方法获取它们,例如。从
Integer.TYPE
Javadoc:
表示基元类型int
的类实例
根据,它们与装箱原语的类等效,因此int.class
、Integer.class
和Integer.TYPE
应为等效表达式:
p.class的类型是class,其中p是基元类型的名称(§4.2),其中B是装箱转换后p类型表达式的类型(§5.1.7)
…但是,如中所述,这与文档不一致
用于:
这些对象只能通过以下公共静态final变量访问,并且是此方法返回true的唯一类对象
另请参见:
Boolean.TYPE、Character.TYPE、Byte.TYPE、Short.TYPE、Integer.TYPE、Long.TYPE、Float.TYPE、Double.TYPE、Void.TYPE
这表明在早期版本的SDK中,这些对象不一定是等价的。int->Integer,float->float,double->double。。。等我不会投你的反对票,但我想他们会的!您也可以将其称为
int.class
@KevinKrumwiede请参见编辑。你是对的,但是Javadoc有点自相矛盾。你能解释一下这些类对象的用途吗?在哪种情况下,它们将对反射有用:方法签名、int数组。我现在有一个新问题-Connsider,我有一个名为Test3的类。我可以使用类myobj=Test3.class获取类对象。这与为类创建新对象相同,如Test3 myobj=new Test3();。myobj的创建是否相同@杰夫鲍曼