java.lang.Class.isPRimitive() 确定指定的Class对象表示一个基本类型。有九种预定义的Class对象代表的八个基本类型和void。这些都是由Java虚拟机创建的,并且具有相同的名称,它们代表即boolean, byte, char, short, int, long, float, 和double 等原始类型。
public static void main(String[] args) { int a = 1; Object test = a; System.out.println("getClass:" + test.getClass()); Class kClass = int.class; System.out.println("kClass.isPrimitive:" + kClass.isPrimitive()); System.out.println("isPrimitive:" + test.getClass().isPrimitive()); System.out.println("isSynthetic:" + test.getClass().isSynthetic()); }结果:getClass:class java.lang.IntegerkClass.isPrimitive:trueisPrimitive:falseisSynthetic:false
java.lang.Integer类型调用isPrimitive和isSynthetic返回的都是false。
isPrimitive只有8个基本类型加上void类型才返回true。
int a = 1;
Object test = a;
test对象变为了Integer类型,而不是int类型。
新闻热点
疑难解答