先贴上代码:

public static void main(String[] args) {

System.out.println(int.class==Integer.TYPE);//结果为true

System.out.println(int.class==Integer.class);//结果为false

}

  1. int.class表示基本数据类型int的Class对象,TYPE是Integer中的静态常量,api中已经写明它表示的是基本数据类型int的class实例,因此先打印出的是true

  2. Integer.class表示引用数据类型Integer的class对象,与前者肯定是不相等的.

    注意:由.class来创建Class对象的引用时,不会自动初始化Class对象.