2
@FunctionalInterface
public interface GenericFunctionalInterface {
public <T> T genericMethod();
}
これは@FunctionalInterfaceの上にあり、汎用メソッドを持っています。Java 8ラムダ汎用インターフェースメソッド
このインターフェイスを表すためにラムダ式を使用するにはどうすればよいですか?私はコンパイルだ
GenericFunctionalInterface gfi =() -> {return "sss";};
私はコードの下にしようとしたが、それは動作しません、エラー: 不正なラムダ式:タイプGenericFunctionalInterfaceの方法genericMethodは、私は種類を置くことができ、一般的な
です情報?
参照[この回答](http://stackoverflow.com/a/22588738/ 304)およびセクション[§15.27.3](http://docs.oracle.com/javase/specs/jls/se8/html/jls-15.html#jls-15.27.3)を参照してください。 "ラムダ式は、次のすべてが真であれば関数型と一致します。関数型に型パラメータがありません。" – McDowell
「汎用」メソッドを意味しますか?私は遺伝学との関係は見ません。それ以外に、それはどうやって動くのだろう? ' T geneticMethod()'メソッドは、呼び出し元が望むものを返すことを約束しているので、ラムダ式は 'String'を返します。 –
Holger
ありがとうHolger。それは一般的です。私はラムダ式の型情報を設定できるかどうか疑問に思っています。 –