どのように私は、インターフェイスにArrayListに変換するのですか?

フランクリン:

次のコードは、私にエラー「型の不一致を:ArrayListのからStackInterfaceに変換することはできません」与えています。どのようにして変換するか、または私はArrayListのための不正なデータ型を使用していますでしょうか?

public class PostFixStack<T> implements StackInterface<T>
    protected ArrayList<T> elements; // ArrayList that holds stack elements
    public PostFixStack() {elements = new ArrayList<T>();      
}

public int evaluate(String expression){
    Scanner tokenizer = new Scanner(expression);
    StackInterface<Integer> stack = new ArrayList<T>();
GhostCat敬礼モニカC.:

答えは:あなたはしないでください。

あなたに回すとjavadocの ArrayListのために、あなたがそこに見つけます:

すべての実装されたインタフェース:

Serializableを、Cloneableを、反復処理可能、コレクション、リスト、ランダム・

StackInterfaceはありません。したがって、ArrayListにはできない、その型にキャストしないこと。

したがって、あなたはむしろ必要があります:

StackInterface<Integer> stack = new PostFixStack<>();

言い換えれば:あなたの事実スタック実装クラスは、ArrayListのを使用するには、その実装の内部の詳細であり、あなたがあなたのスタックの1を作成したい場合、あなたはインスタンス化し、その実装を、およびない何か他のもの!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=209349&siteId=1