-3

私はオンラインで調べていて、スタック操作でArrayListsを使用するクラスを見つけました。arraylist を調べたところ、<E>そこにも指定があることに気付きました。<E>Collection までずっとたどりましたが、この例では がどうなるかわかりません:

public class MyStack<E> {
   private ArrayList<E> arrList;

   public MyStack() {
       arrList = new ArrayList<E>();
}

   public void push(E item) {
       arrList.add(item);
}

... more methods...
}

「エ」は何を指していますか?ドキュメントで説明されていた場合、私はそれを見逃したか、単に理解していません。

4

3 に答える 3

3

<E>で使用するデータのタイプを表しますStack。簡単な例で十分です。

MyStack<String> myStack = new MyStack<String>();
myStack.push("Sample string");

これはJava Genericsと呼ばれます

于 2013-01-25T20:10:57.900 に答える
1

これらはJava ジェネリックです。データ構造に格納するオブジェクトのタイプを事前に正確に指定する必要はありません。スタックのインスタンスがそのように作成される場合にのみ、オブジェクト タイプを知る必要があります。

MyStack<String> stack = new MyStack<String>();

これで、文字列のみをスタックに入れることができます:

stack.add("A String");

それ以外のものを追加しようとすると、コンパイル エラーが発生します。

stack.add(new Integer());  // Compiler error
stack.add(2); // Compiler error
于 2013-01-25T20:16:30.347 に答える
0

スタックからプッシュまたはポップするデータまたはオブジェクトです。このテーマの詳細については、http://docs.oracle.com/javase/tutorial/java/generics/を参照してください。

于 2013-01-25T20:23:05.537 に答える