将数组传递给泛型数据类型参数

时间:2014-11-12 19:34:05

标签: java generics

为什么这样做

public E a;
public MySortedArray(E asdf){
    a = asdf;
}

这不是吗?

public E[] a;
public MySortedArray(E[] asdf){
    a = asdf;
}

当我说我做

时,我怎样才能达到第二个目标
    MySortedArray<Integer> test = new MySortedArray<>(integersArray);

1 个答案:

答案 0 :(得分:2)

Java支持装箱intInteger,但不支持这些数字类型的装箱阵列,例如它不会将int[]标记为Integer[]

在将int[]传递给Integer[]实例之前,您必须自己将MySortedArray<Integer>转换为{{1}}。