public class G<x> {
x i;
}
public class E {
public static void main(String[] args) {
G<Integer> b1 = new G<Integer>();
G<String> b2 = new G<String>();
b1.i = 50;
b2.i = "start";
System.out.println(b1.i);
System.out.println(b2.i);
}
}
このケースが以下に示す他のケースとどのように異なるか
public class G<x> {
x i;
}
public class E {
public static void main(String[] args) {
G b1 = new G();
G b2 = new G();
b1.i = 50;
b2.i = "start";
System.out.println(b1.i);
System.out.println(b2.i);
}
}
Gクラスのオブジェクトを作成している間、ジェネリックの型引数を定義する必要がありますが、型引数を渡さなくても機能します..出力が表示されます。では、コードは Type 引数がなくても実行されるのに、Type 引数が重要であると先生が言うのはなぜですか。
どちらの場合にも違いがあります。最初のケースでは、参照変数 b1 を介して整数型の引数を渡し、b2 参照変数を介して文字列型の引数を渡しますが、2 番目のケースではこれを行いません。そして、これを行わないことにより、2番目のケースでは、データ型はオブジェクト型になります。どちらのコードでも同じ答えが得られますが、私の先生は常に 1case を使用する必要があると言っています。