黑马程序员技术交流社区

标题: 反射中的一个问题?求解。。。。 [打印本页]

作者: ~IN_HAND~    时间: 2013-11-11 21:02
标题: 反射中的一个问题?求解。。。。
下面这段程序是出自张孝祥老师的java高新技术视频中,我和他在讲解时写的代码一样,不知道什么原因,我的代码一直通不过编译,很是郁闷,看代码:
class ReflectArrayDemo
{
        public static void main(String[] args)
        {
                int[] a1 = new int[3];
                int[] a2 = new int[4];
                int[][] a3 = new int[3][4];
                String[] a4 = new String[4];
                System.out.println(a1.getClass() == a2.getClass());
               //下面这两行在编译时报错,错误提示为:不可比较的类型。
               //可老师讲解时,就是这么写的啊!我没看错啊!老师讲解的时候很正常啊!
                System.out.println(a1.getClass() == a3.getClass());
                System.out.println(a1.getClass() == a4.getClass());

                System.out.println(a1.getClass().getName());
                System.out.println(a1.getClass().getSuperclass().getName());
        }
}

老师讲解时用的是myeclipse,难道是跟开发工具有关???我直接在cmd下编译的。

作者: 李慧声    时间: 2013-11-12 00:49
这其实应该不难理解吧,我们一直在说,谁和谁比较,是不是应该要有可比性啊,比方说你那一个人和一棵树去比较,这怎么比啊,对吧,要么拿任何人,或者树和树去比较,这样一类事物才可以具有比较性嘛,所谓人以类聚,物以群分是也。
说到这,应该不难理解了吧,a1对应一维int数组,a3对应二位int数组,a4对应一维string数组,这几这对应的字节码应该不觉呗比较性吧,那么急说如果具备比较行了,应该比较什么啊?
集成开发工具有自动编译的功能,张老师应该把这两行给注释掉了吧。。。




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