填充用 <?> 类型声明的数组

Filling an array declared with <?> type

我正在阅读 Java 泛型,我 运行 遇到了数组填充问题。

Gen<?> array[] = new Gen<?>[10];

for (int i = 0; i < array.length; i++) {
        array[i] = (Integer) (i+3);
    }
    for (int i  = 0; i < array.length; i++) {
        System.out.print(array[i] + " ");
    }
}

编译器提示此错误:类型不兼容:无法将整数转换为 gen。

问题是,在这种情况下,如何填充或通知数组我要放入的内容?谢谢。

我不知道你的要求,但下面的代码可能会帮助你理解它是如何工作的 -

DataTypes.java

public class DataTypes {
    public static void main(String[] args) {
        Gen<?> array[] = new Gen<?>[10];
        for (int i = 0; i < array.length; i++) {
            array[i] = new Gen<Integer>(i);
        }
        for (int i  = 0; i < array.length; i++) {
            System.out.print(array[i].getData() + " ");
        }
    }
}

Gen.java

class Gen<T> {
    T data;

    public Gen(T data) {
        this.data = data;
    }

    public T getData() {
        return data;
    }
}