关于数组的反射
来源:互联网 发布:淘宝一千零一夜视频 编辑:程序博客网 时间:2024/05/19 09:41
- 具有相同维度和元素类型的数组属于同一个类型,即具有相同的Class实例对象。
- 注意JDK5.0之后,不可以把一位数组(基本类型)的字节码和与其类型不兼容的数组类型的字节码用“==”进行比较,这样比较连编译器都不可能通过。
int[]a1 = new int[]{1,2,3};//有一个数组,里面装的int,他不是Object
int[]a2 = new int[7];
int[][]a3 = new int[][]{{1,2},{3,4}};//吧a3当做一个数组来看待,它里面装的就是int类型的数组,也就是Object。
String[][]a4 = newString[][]{{"a","b","c"},{"d","e","f"}};//有一个数组,里面装的是String,String也是Object。
Integer[]a5 = new Integer[]{1,2,3};
System.out.println(a1.getClass()==a2.getClass());
System.out.println(a1.getClass().equals(a3.getClass()));
System.out.println(a2.getClass().equals(a4.getClass()));
System.out.println(a2.getClass().getName());
System.out.println(a1.getClass().getSuperclass().getName());
System.out.println(a3.getClass().getSuperclass().getName());
/*
* a1是个一维数组,其每一个元素都是一个int类型,
* a3是一个二维数组,a3的每一个元素就是一个一维数组,就是一个Object
*a2是个一维数组,其每一个元素都是一个int类型,根据我的扒皮原理,把Object[]的中括号扒掉后
* 就是说a2的每个元素都是
*
*/
ObjectaObj1 = a1;
Object[]aObj2 = a3;
//Object[]aObj3 = a2;
Object[][]aObj4 = a4;
/*
*这里需要强调的是这个asList方法,在jdk4的时候asList的参数为Object[] a,
* 看成是Object的数组,把里面的元素转换为一个list,并且把里面的3个元素也显示了,
*在jdk5以后,如果传进来的是元素为原始类型的一维数组,只是单纯把这个对象转换成list对象,
* 而不会转换过来。打个比方,这个方法就是说会把传进来的这个Object[]把外面的皮扒掉,如果里面是个字符串
*或者Integer这样的封装类,也就说正宗的Object类,他就会显示这个字符串,传进来这个参数(数组类型)每一个元素
* 如果他扒开衣服一看,里面是一个原始类型(intdouble等)或者还是一个数组,那么他只会单纯的返回这个list,
* 里面的元素不会转换,只会返回这个数组的类型,和hashcode。
*
*
*/
System.out.println(Arrays.asList(a1));
System.out.println(a1);
System.out.println(Arrays.asList(a4));
System.out.println(Arrays.asList(a3));
System.out.println(Arrays.asList(aObj4));
System.out.println(Arrays.asList(a5));
//打印任意Object类型的对象
privatestatic void printObj(Object obj) {
Classclazz = obj.getClass();
if(clazz.isArray()) {
intlen = Array.getLength(obj);
for(int i=0;i<len;i++) {
System.out.println(Array.get(obj,i));
}
}else
System.out.println(obj);
}
- 关于数组的反射
- Java中关于数组的反射
- 关于反射带有数组参数的方法的调用(main)
- 黑马程序员-关于数组和集合的反射
- 数组的反射
- 数组的反射
- 数组的反射
- 数组的反射
- 数组的反射
- 关于.NET的反射
- 关于反射的应用
- 关于反射的基础知识
- 关于flex的反射
- 关于Java的反射
- 关于反射的补充
- 黑马程序员-java反射--数组的反射
- Java反射机制之数组的反射
- 反射机制----Constructor,数组的反射机制
- 常用正则表达式
- 二叉树
- 网上看到的一个suds 给webservice接口函数传入参数的列子
- 用堆栈实现括号匹配——ADT实现
- CGI运行机制和基本环境变量备忘
- 关于数组的反射
- sqlserver2005安装指南
- Windows核心编程学习笔记(12)--线程与进程运行的时间
- 第二十四章 加薪非要老总批--责任链模式(读书模式)
- 2013ebay笔试真题回忆版
- 二叉树遍历[先序|中序|后序]Java版
- C++的RTTI和dynamic_cast
- 野指针
- 每写一行代码,就有一行代码的自信。