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