在当前的 JSR 335 草案中,在0.6.0的更改日志条目中提到它“消除了对未绑定内部类构造函数引用的支持”。
为了说明,假设您有一个名为 的外部类A
和一个名为 的内部类B
,并且您想要一个接受A
并创建一个新B
实例的函数:
Function<A, A.B> foo = a -> a.new B();
在 0.6.0 之前,您还可以使用构造函数引用语法来做同样的事情(它甚至记录在State of the Lambda 中):
Function<A, A.B> foo = A.B::new;
如上所述,0.6.0 不再支持该语法。我真的很想知道为什么。
我已经查看了邮件列表lambda-spec-experts
和lambda-dev
邮件列表的档案,但找不到任何有关它的信息。