現在の 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
それに関する情報は見つかりませんでした。