型推論のちょっとしたこと
List<null>型を作れないか考えてて全然関係ないこと思いついた。
void f() { String a1 = id(null); // ok String a2 = id(id(null)); // error String a3 = id(a3 = id(null)); // ok } <T> T id(T t) { return t; }
「制約 null << T のとき、Tに課せられる制約」を考えると理解できると思います。
同時に、List<null>型が作れないことが判明してがっかり。