本帖最后由 皮卫凯 于 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)
谢谢大家。
|