黑马程序员_Java高新技术之反射 数组的反射
来源:互联网 发布:数据库 上次修改时间 编辑:程序博客网 时间:2024/05/22 16:06
l具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象。
Object[] 与String[]没有父子关系,Object与String有父子关系,所以newObject[]{“aaa”,”bb”}不能强制转换成newString[]{“aaa”,”bb”};,Objectx = “abc”能强制转换成Stringx =“abc”。
main.invoke(null,(Object)(newObject[]{“aaa”,“xxx”}));不能调用publicstaticvoidmain(String [] args)
1.
看Class类帮助文档开始部分的介绍。
String[] a1 = new String[8];
String[] a2 = new String[9];
String[][] a3 = new String[6][4];
().getName());
System.out.println(a3.getClass().getName());
System.out.println(a1.getClass()== a2.getClass());
System.out.println(a1.getClass()== a3.getClass());
2.
看getSuperClass方法的帮助
System.out.println(a1.getClass().getSuperclass().getName());
3.
int[] a = new int[3];
Object obj = a;
//Object[] obj1 = a //有错!
Object[] obj3 = a1
Object obj4 = a3;
if(obj4 instanceofString[][]){
System.out.println(obj1.getClass().isArray());
}
**在这里分析研究Arrays.asList()方法处理int[]和String[]时的差异,以及Arrays.deepToString()方法不能处理int[],但能处理String[]的原因。
4.
privatestaticvoidprintObject(Objectobj) {
if(obj.getClass().isArray()){
intlen =Array.getLength(obj);
for(inti=0;i<len;i++) {
System.out.println(Array.get(obj,i));
}
} else {
System.out.println(obj);
}
}
5.似乎没有办法直接得到,需要取出每个元素对象,然后再对各个对象进行判断,因为其中每个具体元素的类型都可以不同,例如Object[]x = new Object[]{“abc”,Integer.Max}。Object[]与String[]没有父子关系,Object与String有父子关系,所以newObject[]{“aaa”,”bb”}不能强制转换成newString[]{“aaa”,”bb”};,Objectx = “abc”能强制转换成Stringx =“abc”。
main.invoke(null,(Object)(newObject[]{“aaa”,“xxx”}));不能调用publicstaticvoidmain(String [] args)
1.
看Class类帮助文档开始部分的介绍。
String[] a1 = new String[8];
String[] a2 = new String[9];
String[][] a3 = new String[6][4];
().getName());
System.out.println(a3.getClass().getName());
System.out.println(a1.getClass()== a2.getClass());
System.out.println(a1.getClass()== a3.getClass());
2.
看getSuperClass方法的帮助
System.out.println(a1.getClass().getSuperclass().getName());
3.
int[] a = new int[3];
Object obj = a;
//Object[] obj1 = a //有错!
Object[] obj3 = a1
Object obj4 = a3;
if(obj4 instanceofString[][]){
System.out.println(obj1.getClass().isArray());
}
**在这里分析研究Arrays.asList()方法处理int[]和String[]时的差异,以及Arrays.deepToString()方法不能处理int[],但能处理String[]的原因。
4.
privatestaticvoidprintObject(Objectobj) {
if(obj.getClass().isArray()){
intlen =Array.getLength(obj);
for(inti=0;i<len;i++) {
System.out.println(Array.get(obj,i));
}
} else {
System.out.println(obj);
}
}
5.似乎没有办法直接得到,需要取出每个元素对象,然后再对各个对象进行判断,因为其中每个具体元素的类型都可以不同,例如Object[]x = new Object[]{“abc”,Integer.Max}。
- 黑马程序员_Java高新技术之反射 数组的反射
- 黑马程序员_Java高新技术之反射
- 黑马程序员_java高新技术之反射
- 黑马程序员_java高新技术之反射技术
- 黑马程序员_Java高新技术:反射
- 黑马程序员_Java高新技术之反射 Constructor类
- 黑马程序员_Java高新技术之反射 Field类
- 黑马程序员_Java高新技术之反射 Method类
- 黑马程序员_java基础之反射及高新技术
- 黑马程序员_Java高新技术二_反射
- 黑马程序员_Java高新技术_反射
- 黑马程序员_java高新技术(3)反射
- 黑马程序员_Java高新技术_反射
- 黑马程序员_Java高新技术_反射的深入探究
- 黑马程序员_Java高新技术_反射的深入探究
- 黑马程序员--高新技术之反射
- 黑马程序员---高新技术之反射
- 黑马程序员---------------高新技术之反射
- 使用adb管理SQLite数据库
- android adb管理工具
- 用common lisp写网站之一
- poj 3372 Candy Distribution
- php 数组操作函数收藏(全)
- 黑马程序员_Java高新技术之反射 数组的反射
- Eclipse快捷键
- tslib机制分析 2009-12-25 17:17:39
- 使用SQL2005 替代 SQLEXPRESS
- Python学习基本系列笔记(一)
- libsvm笔记系列(1)——编译使用LIBSVM
- hibernate的Restrictions
- hdu2612 bfs
- Github-Client(ANDROID)开源之旅(四) ------ 简介Roboguice