型推論
この最後の点を説明するために、次の例では、pick メソッドに渡される 2 番目の引数が String 型であることが推論によって判断されます。
static <T> T pick(T a1, T a2) { return a2; }
Serializable s = pick("d", new ArrayList<String>());
もともとは、最終的T
にString
. 例ArrayList<ArrayList<String>>
しかし、その後、次のコードも問題なくコンパイルさ
Serializable s = pick("d", new ArrayList<Integer>());
れていることT
がわかりましSerializable
たString
。
じゃあ発言の意味は
推論により、pick メソッドに渡される 2 番目の引数がString 型であると判断されます