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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xkfxm 中级黑马   /  2013-8-5 13:53  /  907 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

           int[] a1 = new  int[]{1,2,3};
           int[] a2 = new  int[4];
           int[][] a3 = new  int[2][3];
           String [] str = new String[]{"a","b","c"};
           //同类型同维数的数组的Class对象都是一个
           System.out.println(a1.getClass() == a2.getClass());   //true
           System.out.println(a1.getClass() == a3.getClass());  //false
           System.out.println(a1.getClass() == str.getClass());  //false
最后两行代码出错,老师上面没错,错误提示Incompatible operand types Class<capture#9-of ? extends int[]> and Class<capture#10-of ? extends int[][]>
类型不匹配。这个是因为编译时使用JDK版本不同是吗?
我试过将JDK版本改成1.5以下上面代码可以编译通过,但是基础加强工程下面还有些类编译就不会通过了,因为使用了1.5新特性(自动装箱,静态导入,泛型等等)。
老师上面怎么所有的类都能编译通过呢?是不是可以设置单个类的编译JDK版本?我试过不可以,老师用的是哪个版本的JDK?

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马