这是一个自定义的打印的方法。其中有点小迷惑,求解。
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);
}
}
|