黑马程序员技术交流社区

标题: 还是在学习反射时候遇到的一点小问题? [打印本页]

作者: 孔斌    时间: 2013-1-31 15:58
标题: 还是在学习反射时候遇到的一点小问题?
  1. Class cla = obj.getClass();
  2.                 if(cla.isArray()){
  3.                         int len = Array.getLength(obj);
  4.                         for(int i = 0 ; i < len ;i++){
  5.                                 System.out.println(Array.get(obj, i));
  6.                         }
  7.                 }else {
  8.                         System.out.println(obj);
  9.                 }
  10.                
  11.                
  12.                 /*if(obj.getClass() == Array.class){//这个为什么不对呢?
  13.                         int len = Array.getLength(obj);
  14.                         for(int i = 0 ; i < len ;i++){
  15.                                 System.out.println(Array.get(obj, i));
  16.                         }
  17.                 }else {
  18.                         System.out.println(obj);
  19.                 }*/
  20.         }
复制代码
我感觉这两个功能应该是一样的啊!

作者: 黑马刘向阳    时间: 2013-1-31 16:10
Array类时java.lang.reflect包用于动态创建和访问数组的一个工具类,你的obj对象应该是个数组吧,if(obj.getClass() == Array.class)当然不对了,判断是否是数组类只能用obj.getClass().isArray()
作者: 杨杨    时间: 2013-1-31 16:36
楼上正解 希望 以后贴源码贴全一点




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2