黑马程序员技术交流社区

标题: 关于Class报错 [打印本页]

作者: zhangxinxin    时间: 2011-11-4 16:17
标题: 关于Class报错
     int[] a1=new int[3];
                int[] a2=new int[4];
                int[][] a3=new int[3][4];
                String[] a4=new String[3];
                System.out.println(a1.getClass()==a2.getClass());
                System.out.println(a1.getClass()==a3.getClass());
                System.out.println(a1.getClass()==a4.getClass());
最后两行会报错,为什么
               
作者: olkldksl    时间: 2011-11-4 16:29
类型不匹配
作者: 庄承荣    时间: 2011-11-4 16:37
错误是: incompatible type ,意思是关系运算符两边的操作数不兼容(如:一个为int[] 类型,一个为String[]类型)
作者: 邱本超老师    时间: 2011-11-4 18:08
使用好些的编辑器,应该可以帮你通过这些问题的。eclipse完全就可以了。
作者: 董浩    时间: 2011-11-4 18:33
int型和string两个怎么比 试着强制转换一下
作者: zhangxinxin    时间: 2011-11-5 17:33
本帖最后由 zhangxinxin 于 2011-11-5 19:45 编辑

我用的是比较新的myeclipse编写代码的,上面没出结果的,是我按照视频中老师原代码,照抄的。
本来没觉得是什么不好理解的,就是想练一下手,没想到,不出结果,郁闷。        
Class cls1=a1.getClass();
Class cls2=a3.getClass();
Class cls3=a.getClass();
  System.out.println(cls1==cls2);
System.out.println(cls1==cls3);

我这么写就没事了,为什么。

作者: 成杰    时间: 2011-11-5 23:47
数组只有类型和维度都相同的话,才代表同一份字节码,其他的情况,编译器是不允许拿来比较的。
作者: zhangxinxin    时间: 2011-11-6 20:46
这是看视频时,把老师的代码原原本本的照抄的,老师的运行出结果,我的怎么不行?要是类型不匹配的话,老师的怎么能运行?
作者: 成杰    时间: 2011-11-7 09:13
zhangxinxin 发表于 2011-11-6 20:46
这是看视频时,把老师的代码原原本本的照抄的,老师的运行出结果,我的怎么不行?要是类型不匹配的话,老师 ...

你再回去看看视频,张孝祥老师说的很清楚,编译器不允许你这样写的。
作者: 刘永昌    时间: 2011-11-7 09:33
原来 一维数组和二维数组不是来自同一个类( ⊙ o ⊙ )!受教了
class  GetClass
{
        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[3];
                System.out.println(a1.getClass().getName());
                System.out.println(a2.getClass().getName());
                System.out.println(a3.getClass().getName());
                System.out.println(a4.getClass().getName());

        }
}
运行结果:
class [I
class [I
class [[I
class [Ljava.lang.String;




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