当前位置 : 主页 > 编程语言 > java >

java的预定义Class对象的方法

来源:互联网 收集:自由互联 发布时间:2023-08-10
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void通过class属性也表示为 Class 对象; Class类中boolean isPrimitive() :判定指定的 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对象如何比较是否相等? 数组的维数和数组的类型;

    isArray() method in the Class class: Determines whether this Class object represents an array type.。

    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){}
    }

    网友评论