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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. int[] a1 = new int[3];
  2. int[] a2 = new int[4];
  3. int[][] a3 = new int[2][3];
  4. String[] a4 = new String[3];
  5. System.out.println(a1.getClass() == a2.getClass());
  6. System.out.println(a1.getClass() == a4.getClass());
  7. System.out.println(a1.getClass() == a3.getClass());
复制代码
最后两行会报错  Incompatible operand types Class<capture#10-of ? extends int[]> and Class<capture#11-of ? extends int[][]>


我的MyEclipse中的java是1.7版本的。

无标题.png (74.77 KB, 下载次数: 13)

无标题.png

2 个回复

倒序浏览
System.out.println(a1.getClass() == a4.getClass());
报错:Incompatible operand types Class<capture#3-of ? extends int[]> and Class<capture#4-of ? extends String[]>
System.out.println(a1.getClass() == a3.getClass());
报错:Incompatible operand types Class<capture#5-of ? extends int[]> and Class<capture#6-of ? extends int[][]>


这两个类型都不匹配啊,不能比较
回复 使用道具 举报
本帖最后由 龙健 于 2014-5-10 01:34 编辑

对于这个问题啊,张老师明明就可以编译同,我这里也不行啊,使用这样就可以:
  1. int[] a1 = new int[3];
  2.          int[] a2 = new int[4];
  3.          int[][] a3 = new int[2][3];
  4.          String[] a4 = new String[3];
  5.          System.out.println(a1.getClass()== a2.getClass());
  6.          System.out.println(a1.getClass().equals( a4.getClass()));
  7.          System.out.println(a1.getClass().equals(a3.getClass()));
复制代码

我个人觉得得到的并不是一个二进制文件,只是一个可执行文件,只有加载进内存的时候才被JVM加载成为二进制文件,所以这里不能比较。因为类型不匹配。当然这只是我个人大胆的猜想
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马