java--反射九个预定义Class对象(二)
【摘要】
java--反射(二)
九个预定义Class对象
基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void通过class属性也表示为 Class 对象;Class类中boolean isPrimitive() :判定指定的 Class ...
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<String[]> clz = String[].class;
- 数组的Class对象如何比较是否相等? 数组的维数和数组的类型;
Class类中 boolean isArray() :判定此 Class 对象是否表示一个数组类型。
9个预定义对象实例
-
package reflect;
-
-
public class PreClassInstanceDemo {
-
public static void main(String[] args) {
-
-
//获得一个数组的Class对象
-
-
/*
-
* 具有相同元素类型和维数的数组都共享同一个 Class 对象
-
*
-
* 和数组的元素个数和元素的值,元素的顺序 无关
-
*/
-
int[] arr = {1,2};
-
Class<?> clz1= arr.getClass();
-
-
int[] arr2 = {1,2,3,4};
-
Class<?> clz2= arr2.getClass();
-
-
System.out.println(clz1 == clz2);//true
-
-
/**
-
* 得到数组的Class对象的另外一种方式:
-
*/
-
-
Class clz3 = int[].class;
-
-
System.out.println(clz1 == clz3);
-
-
System.out.println(clz3.toString());
-
//=========================================
-
-
/**
-
* 基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
-
他们都对应这 class属性;
-
-
他们的包转类都有TYPE常量; 得到的是他们基本类型的字节码;
-
-
-
数据类型(引用、基本)都有class属性;
-
*/
-
System.out.println("int.class == int.class"+ (int.class == int.class));
-
Class<Void> v = void.class;
-
System.out.println();
-
-
//int 和 Integer 表示不同的数据类型
-
System.out.println(Void.TYPE);
-
System.out.println("--------------");
-
System.out.println(Integer.class);
-
System.out.println(int.class);
-
System.out.println(Integer.class == int.class);//false
-
System.out.println(Integer.TYPE);
-
System.out.println(Integer.TYPE == Integer.class);//false
-
System.out.println(Integer.TYPE == int.class);//true
-
}
-
-
public void show(int i){
-
}
-
public void show(Integer i){
-
}
-
}
文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。
原文链接:brucelong.blog.csdn.net/article/details/80104849
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)