在我的代码中,我(意外地)编写了void.class(不是Void.class),编译器很高兴地接受了它.到现在为止,我认为这些原始人不是真正的对象(不仅是虚空,也谈论int等等……),所以他们没有课.
我在谈论所有“原始阶级”.每个基本类型都有一个由< primitivetype> .class表示的类,例如float.class
>什么“类”由这样的“原始类”引用,例如void.class?
>这些“原始类”的可能用例是什么?
>特别是,他们提供构造函数吗?
>我们可以进行有意义的实例检查,如int.class.isInstance(2.3f)吗?
解决方法:
void.class是反射中用于指示方法具有void返回类型的对象.如果编写method.getReturnType();,则可能会返回此对象.
int.class可以表示参数和返回类型.
您可以编写int.class.isInstance(…)但它总是返回false,因为参数是一个Object.
没有Class对象具有可访问的构造函数.
int.class.getConstructors()和int.class.getDeclaredConstructors()都返回一个空数组.原始类型没有构造函数.
标签:java,primitive-types,class
来源: https://codeday.me/bug/20190611/1221426.html