今天给大家分享的是java的预定义Class对象的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void通过class属性也表示为 Class 对象;
Class类中boolean isPrimitive() :判定指定的 Class 对象是否表示一个基本类型。
包装类和Void类的静态TYPE字段;
Integer.TYPE == int.class ; Integer.class == int.class;
数组类型的Class实例对象:
Class clz = String[].class;
数组的Class对象如何比较是否相等? 数组的维数和数组的类型;
Class类中 boolean isArray() :判定此 Class 对象是否表示一个数组类型。
package junereflect624; public class PreClassDemo2 { public static void main(String[] args) { Class> in = int.class; System.out.println(in);//int Class> in2 = Integer.class; //包装类都有一个常量TYPE,用来表示其基本数据类型的字节码 Class> in3 = Integer.TYPE; System.out.println(in2);//class java.lang.Integer System.out.println(in3);//int System.out.println(in3 == in);//true 包装类都有一个常量TYPE,用来表示其基本数据类型的字节码,所以这里会相等! System.out.println(in3 == in2);//false Class s = String [].class; Class i = int [].class; //System.out.println(i ==s);//编译根本就通过不了,一个是int,一个是String } //这两个自定义的方法是可以的,一个int,一个Integer//包装类与基本数据类型的字节码是不一样的 public void show(int i){} public void show(Integer i){} }