2017-11-15 1 views
1

私はあるメソッドでユーザーデータを取得し、そのデータを汎用のarraylistに追加するための "add"メソッドに渡したいと思います。しかし、私はこれがstatic問題であるならば、私はわからないんだけど、次のエラーメッセージが表示される...一覧で一般的なarraylistに追加するためにメソッドに変数を渡す - Java

追加(T)が(java.lang.Stringで)に適用することはできません

かどうか...

私の簡素化コード:

List<T> list = new ArrayList<T>(); 

void dataCollection() { 
    Scanner scan = new Scanner(System.in); 
    System.out.println("type data"); 
    add(scan.next()); 
} 

void add(T t) { 
    list.add(t); 
} 

答えて

1

あなたListString秒を追加したい場合は、としてそれを定義しますa List<String>ではなく、List<T>です。

List<T>は、Stringを保持できないList<Integer>など(クラスのインスタンス化の仕方によって異なる場合があります)。

Listが本当に必要な場合は、Stringを追加しないでください。

+0

アドバイスをいただきありがとうございます。これは私のためのジェネリック医薬品への最初の冒険です、私はまだ学んでいます! – physicsboy

関連する問題