A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangxinxin 黑马帝   /  2011-11-4 16:17  /  2455 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

     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());
最后两行会报错,为什么
               

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

9 个回复

倒序浏览
类型不匹配
回复 使用道具 举报
错误是: incompatible type ,意思是关系运算符两边的操作数不兼容(如:一个为int[] 类型,一个为String[]类型)

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
使用好些的编辑器,应该可以帮你通过这些问题的。eclipse完全就可以了。
回复 使用道具 举报
int型和string两个怎么比 试着强制转换一下
回复 使用道具 举报
本帖最后由 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);

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

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
成杰 黑马帝 2011-11-5 23:47:28
7#
数组只有类型和维度都相同的话,才代表同一份字节码,其他的情况,编译器是不允许拿来比较的。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这是看视频时,把老师的代码原原本本的照抄的,老师的运行出结果,我的怎么不行?要是类型不匹配的话,老师的怎么能运行?
回复 使用道具 举报
成杰 黑马帝 2011-11-7 09:13:45
9#
zhangxinxin 发表于 2011-11-6 20:46
这是看视频时,把老师的代码原原本本的照抄的,老师的运行出结果,我的怎么不行?要是类型不匹配的话,老师 ...

你再回去看看视频,张孝祥老师说的很清楚,编译器不允许你这样写的。
回复 使用道具 举报
原来 一维数组和二维数组不是来自同一个类( ⊙ 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;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马