Java 将数组传递给具有泛型数据类型参数的函数

Java 将数组传递给具有泛型数据类型参数的函数,java,generics,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); MySortedArr

为什么这样做有效

public E a;
public MySortedArray(E asdf){
    a = asdf;
}
这不是吗

public E[] a;
public MySortedArray(E[] asdf){
    a = asdf;
}
如果说我做到了,我该如何实现第二个目标

    MySortedArray<Integer> test = new MySortedArray<>(integersArray);
MySortedArray测试=新的MySortedArray(整数数组);

Java确实支持将
int
装箱到
Integer
,但不装箱那些数字类型的数组,例如,它不会将
int[]
装箱到
Integer[]


在将
MySortedArray
实例传递给
MySortedArray
实例之前,必须自己将
int[]
转换为
整数[]

什么是
integersArray
?一个
整数[]
?A
int[]
?请参见Java教程中的。对于第二种情况,您应该使用
List
而不是
E[]
,并使用
List
API而不是数组订阅。@TedHopp我认为这不涉及创建“复制的”中的通用数组;只是将数组传递给泛型类。@TedHopp我也这么认为,但我们不能这样做。我投票决定重新打开这个问题。谢谢!我仍然需要练习泛型,因为即使在高级项目中,我也总是避免使用它们?扩展力与您同在。