填充用 <?> 类型声明的数组
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;
}
}
我正在阅读 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;
}
}