Можно создать дубликат:
Java how to: Generic Array creationстек общий класс не работает
import java.util.EmptyStackException;
import java.util.Vector;
public class Stack<E> extends Vector<E> {
private E a[];
private int top;
public void Stack() {
a = new E[100];
top = -1;
}
public void Stack(int n) {
a = new E[n];
top = -1;
}
public E pop() {
E obj;
int len = size();
if (top == -1)
throw new EmptyStackException();
else
obj = a[top--];
return obj;
}
public void push(E e) {
if (e == null)
throw new NullPointerException();
else if (top == size() - 1)
System.out.println("Stack full");
else {
a[++top] = e;
System.out.println("pushed :" + e);
}
}
public int size() {
int i;
for (i = 0; a[i] != null; i++)
;
return i;
}
}
Это мой стек дженерики класс в Java. Я получаю ошибку в объявлении массива внутри двух конструкторов i.e Stack() и Stack (int n). В обоих случаях ошибка - это «создание общего массива». пожалуйста, помогите
Пожалуйста, смотрите на этот вопрос: http://stackoverflow.com/questions/529085/java-how-to-generic-array-creation – Mat
Ваши конструкторы на самом деле не конструкторы, а конструкторы не имеют типа возвращаемого значения , Кроме того, вы расширяете 'Vector', что означает, что вам не нужно иметь локальный массив. – Paaske