0

私はJAVAジェネリックを初めて使用しますが、return型は無効ですが、なぜ型を指定しているのですか。

public static <U> void addBox(U u,List<Box<U>> boxes){
    Box<U> box = new Box<U>();
    box.setT(u);
    boxes.add(box);
}
4

3 に答える 3

3

<U>リターンタイプではありません。Uこれは、メソッドのパラメーターとメソッド本体で使用されるジェネリッククラスであることを宣言しています。

ジェネリックメソッドとその構文について詳しくは、こちらをご覧ください。

于 2013-01-21T05:08:41.650 に答える
0

入力パラメータに対して定義されており、戻り型ではありません。クラスAbcのようなクラスレベルではなく、メソッドレベルで定義されているため、ここではこのように宣言されています。

ありがとう

于 2013-01-21T05:08:59.683 に答える
0

効果的なJavaを読むことをお勧めします。著者のジョシュア・ブロックは、第5章でかなり良いイラストを示しています。

于 2013-01-21T06:15:07.727 に答える