黑马程序员技术交流社区
标题:
关于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