У меня есть следующий кодJava Есть ли способ инициализировать универсальный массив, тип которого безопасен?
public class Container<T> {
private T element;
private T[] tarray;
public T getElement() {
return element;
}
public void setElement(T element) {
this.element = element;
}
public void add(T element) {
tarray[0] = element;
}
public void CreateArray(int size) {
//Can this be cleaned up better?
tarray = (T[]) new Object[size];
}
public T get() {
return tarray[0];
}
public Container(T someElement) {
this.element = someElement;
}
public Container() {
}
public static void main(String[] args) {
Container<String> myContaier1 = new Container<String>();
myContaier1.setElement("Hello");
myContaier1.CreateArray(1);
myContaier1.add("GoodBye");
System.out.println(myContaier1.get());
}
}
Нет ли способ инициализации типа безопасного общего массива?
Duplicate of http://stackoverflow.com/questions/529085/java-how-to-generic-array-creation – Aubin
Это эффективно Object [] (как и все стандартные контейнеры, такие как ArrayList), поэтому угрожайте ему как одному , – bestsss