下面代码中,arry=new T[10];编译报错,应该怎么样改呢!!public class GenericArray<T> {
private int index;
private T[] arry;
public GenericArray<T>(){
arry=new T[10];
}
}
private int index;
private T[] arry;
public GenericArray<T>(){
arry=new T[10];
}
}
public class GenericArray<T> {
private int index;
private T[] arry ;
public GenericArray(){
arry = (T[])new Object[10];
}
public boolean set(int i, T t) {
try {
arry[i] = t;
} catch (Exception e) {
return false;
}
return true;
}
public T get(int i) {
return arry[i];
}
public static void main(String[] args) {
GenericArray<String> str = new GenericArray<String>();
str.set(1, "test");
System.out.println(str.get(1).getClass());
System.out.println(str.get(1));
}
}
public ArrayList() {
this(10);
}
泛型不能显式地引用运行是类型的操作中,例如转型和new表达式,因为所有关于参数类型的信息都丢失了
private int index;
private T[] arry;
public GenericArray<T>(T[] arr) {
arry = arr;
}
}
import java.util.ArrayList;public class GenericArray{
public static void main(String[] args){
//ArrayList<String>[] array = new ArrayList<String>[10]; error
ArrayList[] array1 = new ArrayList[10];
ArrayList<?>[] array2 = new ArrayList<?>[10];
}
}
public T t(T[] t) {
return t[1];
}