フランクリン:
次のコードは、私にエラー「型の不一致を: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を作成したい場合、あなたはインスタンス化し、その実装を、およびない何か他のもの!