ジェネリックスを使用してユニバーサルスタックを作成したい。JavaジェネリックスNullPointerException
public class UniversalStack<E> implements StackInterface<E> {
private E[] stack;
private int dim;
private int index;
@SuppressWarnings("unused")
public UniversalStack(int dim)
{
this.dim=dim;
this.index=0;
@SuppressWarnings("unchecked")
E[] stack = (E[]) new Object[dim];
}
@Override
public void push(E el) {
// TODO Auto-generated method stub
if(index+1<dim)
{
stack[index] = el;
index=index+1;
}
}
}
すべてがうまくコンパイルされます。
UniversalStack<Integer> integerStack = new UniversalStack<>(10);
integerStack.push(new Integer(1));
私はあなたが私が間違っているのものを私に説明してもらえ
Exception in thread "main" java.lang.NullPointerException
at com.java.lab4.UniversalStack.push(UniversalStack.java:41)
at com.java.lab4.testStack.main(testStack.java:14)
を得る:問題は、私は次のように呼び出すときに来ますか?私が愚かな間違いを私に厳しいものにしないと、私は初心者なので、あまり分かりません。
あり、それは私がここに掲載した後、私は再びそれを読むまで、それは..私は私がスタックメンバー再宣言実現しませんでした。ありがとう! – Teo
私は日食があなたに警告しようと思ったが、あなたはsuppresswarnings注釈を追加した:-) –