kar*_*rim 5 java class primitive-types
我已经读过为了访问表示基本类型的调用对象,我可以这样做:
Class intClass = int.class;
但原始类型如何使用类来表示它们?它们是原始的,这应该意味着它们没有阶级.为什么上面的例子工作,哪个类包含int(可能是Integer类)?
作为Class类的javadoc 状态
该类的实例
Class表示正在运行的Java应用程序中的类和接口.Anenum是一种类,注释是一种接口.每个数组也属于一个类,它反映为一个Class对象,由具有相同元素类型和维数的所有数组共享.原始Java类型(boolean,byte,char,short,int,long,float,和double),以及关键字void也表示为Class对象.
甲Class对象简单地提供用于它所代表的类型的一些元数据和工厂方法.
例如,Class#isPrimitive()将告诉您表示的类型是否是基元.
Class除其他外,该类及其实例用于反射.
假设你有类似的课程
public class Example {
    public long add(int first, long second) { // for whatever reason
        return first + second;
    }
}
并且您希望add仅在给定其名称和参数类型的情况下调用该方法.以下将失败
Class<?> exampleClass = Example.class;
exampleClass.getMethod("add", Integer.class, Long.class);
因为参数类型不是Integer和Long,它们是int和long.
你必须做类似的事情
Class<Example> exampleClass = Example.class;
Method addMethod = exampleClass.getMethod("add", int.class, long.class);
Example instance = exampleClass.newInstance();
addMethod.invoke(instance, 42, 58L);