タイプ(T)を取得するジェネリッククラスを作成しようとしています。このタイプ(T)から継承したオブジェクトを追加するためのリストとメソッドが含まれます。制限付きの型パラメータを使用してリストにオブジェクトを追加する
public abstract class Vehicle<P> {
List<? extends P> passengers = new ArrayList<>();
public <T extends P> void addPassenger(T pass){
passengers.add(pass);//error
}
}
しかし、私はマークされた行でエラーが出ます:
方法が追加(キャプチャ#1-のPを拡張?)タイプのリストでは、引数には適用されません(P)
これを正しく行うにはどうすればよいですか?
ここで 'T'は無意味です。これは 'public void addPassenger(P pass)'とまったく同じです。 – newacct