黑马程序员技术交流社区
标题:
一个问题跪求解决
[打印本页]
作者:
李会成
时间:
2013-1-28 15:46
标题:
一个问题跪求解决
本帖最后由 李会成 于 2013-2-18 11:43 编辑
int [] a1 = new int[2];
int [] a2 = new int[3];
int[][] a3 = new int[2][3];
String [] a4 = new String[2];
System.out.println(a1.getClass() == a2.getClass());
System.out.println(a1.getClass()==a3.getClass());//出错 Incompatible operand types Class<capture#8-of ? extends int[]> and Class<capture#9-of ? extends int[][]>
System.out.println(a1.getClass()==a4.getClass());//出错 Incompatible operand types Class<capture#10-of ? extends int[]> and Class<capture#11-of ? extends String[]>
复制代码
照理来说,每一种类的字节码对应下来应该只是Class类的一个实例对象,那为什么还要对Class类定义泛型呢?比如String.class 的类型是Class<String>,这样有什么意义?
作者:
舒远
时间:
2013-1-28 16:00
编译器版本不一样。
换成1.4的版本就可以编译通过
作者:
李跃达
时间:
2013-1-28 17:17
编译器版本问题,1.5以上才支持泛型
作者:
黑马-周科
时间:
2013-1-28 17:37
代码就一部分,最后的结果不知道。
最后是比较。看下“==”和“equals”的却别。==改成equals全部通过。不知道和楼主的题意是否相符合。
int [] a1 = new int[2];
int [] a2 = new int[3];
int[][] a3 = new int[2][3];
String [] a4 = new String[2];
System.out.println(a1.getClass().equals(a2.getClass()));
System.out.println(a1.getClass().equals(a3.getClass()));
System.out.println(a1.getClass().equals(a4.getClass()));
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2