在Java中创建泛型数组

在Java中创建泛型数组,java,arrays,oop,generics,Java,Arrays,Oop,Generics,类A是泛型类型,在类B中,我想创建一个类型为A的对象数组,使用Integer作为泛型参数 class A<T> {} class B { A<Integer>[] arr=new A[4]; //statement-1 B() { for(int i=0;i<arr.length;i++) arr[i]=new A<Integer>(); } } A类 {} B类 { A[

类A是泛型类型,在类B中,我想创建一个类型为A的对象数组,使用Integer作为泛型参数

class A<T>
{}

class B
{
    A<Integer>[] arr=new A[4]; //statement-1
    B()
    {
         for(int i=0;i<arr.length;i++)
              arr[i]=new A<Integer>();
    }
}
A类
{}
B类
{
A[]arr=新的A[4];//语句-1
B()
{
对于(int i=0;i
@SuppressWarnings(“未选中”)
A[]arr=新的A[3];
B(){

对于(int i=0;i有时Java泛型不允许您做您想做的事情,您需要有效地告诉编译器您所做的事情在执行时是合法的。
因此,
SuppressWarning注释用于抑制被注释元素的编译器警告。特别是,未经检查的类别允许抑制由于未经检查的类型转换而生成的编译器警告。
检查这个

@SuppressWarnings("unchecked")
A<Integer>[] arr = new A[3];
B(){
   for(int i=0;i<arr.length;i++)
   arr[i]=new A<Integer>();
 }
@SuppressWarnings(“未选中”)
A[]arr=新的A[3];
B(){

对于(int i=0;由于类型擦除,您无法创建泛型数组)。
@SuppressWarnings("unchecked")
A<Integer>[] arr = new A[3];
B(){
   for(int i=0;i<arr.length;i++)
   arr[i]=new A<Integer>();
 }