18

だから私はJavaで働いていて、ジェネリックリストを宣言したいと思います。

だから私が今までやっているのはList<T> list = new ArrayList<T>();

しかし、今は要素を追加したいと思います。それ、どうやったら出来るの?一般的な要素はどのように見えますか?

List.add( "x")のようなことをして、文字列を追加できるかどうかを確認しましたが、機能しません。

(私がaを宣言しない理由は、このリストを引数としてList<String>のみ取る別の関数に渡さなければならないためです。List<T>

4

3 に答える 3

24

以下のようなジェネリック クラスまたはジェネリック メソッドが必要です。

public class Test<T>  {
    List<T> list = new ArrayList<T>();
    public Test(){

    }
    public void populate(T t){
        list.add(t);
    }
    public static  void main(String[] args) {
        new Test<String>().populate("abc");
    }
}
于 2013-01-16T09:53:08.140 に答える
1

T は、リストに含まれるオブジェクトのタイプです。List<String>を必要とする関数で記述して使用することができますList<T>。T は何でもよいと言うのに使用されるため、問題にはなりません。

于 2013-01-17T23:45:37.837 に答える
0

タイプが のリストに「X」(文字列) を直接追加することはできないため、次のように、T をパラメーターとして受け入れてリストに追加する関数を作成する必要があります。

List<T> myList = new ArrayList<T>(0);
public void addValue(T t){
  myList.add(t);
}

この関数を呼び出すときに、文字列を渡すことができます。

 object.addValue("X");
于 2013-01-16T10:12:15.187 に答える