黑马程序员技术交流社区
标题:
数组问题
[打印本页]
作者:
戚题彪
时间:
2012-8-12 17:20
标题:
数组问题
这是一个自定义的打印的方法。其中有点小迷惑,求解。
private static void printObject(Object obj) {
// TODO Auto-generated method stub
Class clazz = obj.getClass();
/*if(clazz.isArray()){
int len = Array.getLength(obj);
for(int i = 0;i<len;i++){
if(Array.get(obj, i).getClass().isArray()){
for(int j=0;j<Array.getLength(Array.get(obj, i));j++){
System.out.println(Array.get(Array.get(obj, i),j));
}
}else{
System.out.println(Array.get(obj, i));
}
}
}else {
System.out.println(obj);
}*/
if(clazz.isArray()){
int len = Array.getLength(obj);
for(int i = 0;i<len;i++){
//System.out.println(obj
);//
此处编译时会报错,和Array.get(obj,i)有什么区别?为什么会报错
System.out.println(Array.get(obj,i));
}
}else{
System.out.println(obj);
}
}
作者:
来明坤
时间:
2012-8-12 17:41
if语句判断的是数组格式 System.out.println(obj);输出是对象。。。
作者:
吴小东
时间:
2012-8-12 17:48
应该不会报错的,能说下报的什么错吗?
作者:
杜鹏云
时间:
2012-8-12 18:18
int a[] = new int[]{1,2,3,4,5,6};
printObject(a);
你好,我帮你运行了下,输出的是a的[I@1e5e2c3。。。
其实这个地方本身也是不会报错的。
你所说的编译不通过,真的很难理解,能够把错误代码写出来么?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2