次のようなものは、コンパイル時エラーまたは実行時エラーを発生させず、なぜ空白かを描画しています。 cls.addの呼び出しでコンパイルエラーを強制する方法はありますか?メソッドシグネチャ内のパラメータ化されたリスト
クラス定義内のTの定義が、内部のメソッドの呼び出しに持ち越されないのはなぜですか?私はクラスをそのようにインスタンス化しなかったことを理解していますが、クラス状態Tの定義は数値でなければなりません。
public class NewClass<T extends Number> {
private List<T> id = new ArrayList<T>();
public void add(List<T> elem) {
id.addAll(elem);
}
public static void main(String[] args) {
NewClass cls = new NewClass();
cls.add(new ArrayList<String>());
}
}
私はそれが生の種類の使用に関連していると考えました。 公開 void add(リスト elem) しかし、サイコロを使わずにTの定義を強制する方法があると思いました。助けてくれてありがとう。 –
sma