2

次の形式でコードをコンパイルしようとすると、「互換性のない型 - java.lang.Object が見つかりましたが、E が必要です」というコンパイル エラーが生成されます。

public class E {
    private int x;       

    public E {
        x = 0;
    }
}

public class Class {
    private E o;
    private E b;
    private Stack stack = new Stack();

    public void foo() {
        stack.push(o);
    }

    public void bar() {
        **b = stack.pop();**
    }
}
4

2 に答える 2

5

Esを含むようにスタックを宣言できます。

private Stack<E> stack = new Stack<E>();
于 2012-07-23T00:28:20.683 に答える
2

E にキャストしてみてください。

public void bar() {
    b = (E)stack.pop();
}
于 2012-07-23T00:22:47.087 に答える