Java 7 以降では、ひし形を使用して、通常どおり問題なく型を推論できます。
List<String> list = new ArrayList<>();
ただし、次のような匿名の内部クラスには使用できません。
List<String> st = new List<>() { //Doesn't compile
//Implementation here
}
どうしてこれなの?このシナリオでは、論理的には、タイプを として間違いなく推測できString
ます。この決定には、匿名の内部クラスで型を実際に推論できないという論理的な理由がありますか、それとも他の理由で省略されましたか?