黑马程序员技术交流社区
标题:
//?为何这里不能直接用obj[i] ?
[打印本页]
作者:
何清林
时间:
2014-3-5 20:53
标题:
//?为何这里不能直接用obj[i] ?
//?为何这里不能直接用obj[i] ?请看下面的程序
//数组反射的应用,用于写一个可以打印任意元素的函数
public static void printObject(Object obj) {
// TODO Auto-generated method stub
Class clazz = obj.getClass();
if(clazz.isArray()){ //clazz.isArray()判断是不是数组类型的对象
for(int i=0;i<Array.getLength(obj);i++){
System.out.println(Array.get(obj, i)); //?为何这里不能直接用obj[i] ?
}
}else{
System.out.println(obj);
}
}
作者:
榨菜
时间:
2014-3-5 22:45
public static void printObject(Object obj) { } 这里的obj是Object类型 不是数组类型 ,所以不能用
作者:
e.c
时间:
2014-3-5 22:52
楼上说的对:你判断出是一个数组了,但编译器只知道它是一个Object对象
作者:
twtzhongxin
时间:
2014-3-6 01:42
类java.lang.reflect中的get方法:
static Object get(Object array, int index)
第一个参数是数组名
第二个参数是索引
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2