GroovyのJava 8 ::(double colon operator)と同等の機能はありますか?Groovyに相当するJava 8 ::(double colon)演算子
私はグルーヴィーhttps://github.com/bytefish/PgBulkInsert
でこの例を翻訳しようとしている。しかしマッピング部は、Java 8と同じように動作しません:
public PersonBulkInserter() {
super("sample", "unit_test");
mapString("first_name", Person::getFirstName);
mapString("last_name", Person::getLastName);
mapDate("birth_date", Person::getBirthDate);
}
Groovyのメソッドのように見えます。ポインタ演算子 '。&'は閉じていますが、宣言するクラスのインスタンスが必要です。 – manouti
実際、Groovyクラスのためには "Functional Interface"が必要です。 https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html – Wavyx
'mapString()'と 'mapDate() 'のコードを見ることなく、 'メソッドを呼び出すことができますが、このようなものは' mapString( "first_name"、{it.firstName} as Function) 'のように動作します。これは、関数ポインタのラムダからファンクショナルへのインタフェース表記法と同じくらい効率的ではありませんが、同じように動作します。 – BalRog