| 本帖最后由 皮卫凯 于 2012-9-24 23:17 编辑 
 private static <T> viod  swap (T[]a,int i,int j)
 {
 T tmp=a;
 a=a[j];
 a[j]=tmp;
 }
 
 swap (new String[] {"abc","def","itheima"},1,2)
 swap (new int[]{1,3,5,6,7,9},3,4)
 
 定义一个泛型的交换方法
 为什么第二句会报错。
 第一句能执行,按理第二句也能执行啊。
 
 张老师的视频中说到 编译器不会对new int [] 的 int自动的拆箱和装箱。与上面泛型的swap 有关系咩。
 想不通了,求解答。
 
 已经解答。
 自定义泛型中的变量 T  是指一种不包括基本数据类型(char ,int ,boolean...  )的类型
 swap (new int[]{1,3,5,6,7,9},3,4)
 应该改为
 swap (new Integer[]{1,3,5,6,7,9},3,4)
 谢谢大家。
 
 
 |