Jaki byłby odpowiednik Javy 8 :: (double colon operator) w Groovy?Groovy odpowiednik operatora Java 8 :: (podwójny dwukropek)
Próbuję tłumaczyć ten przykład w Groovy https://github.com/bytefish/PgBulkInsert
ale część odwzorowania nie działa w ten sam sposób jak Java 8:
public PersonBulkInserter() {
super("sample", "unit_test");
mapString("first_name", Person::getFirstName);
mapString("last_name", Person::getLastName);
mapDate("birth_date", Person::getBirthDate);
}
Wygląda na to, że operator wskaźnika '. &' Jest zamknięty, ale oczekuje wystąpienia klasy deklarującej. – manouti
Rzeczywiście, potrzebowałbym "Funkcjonalnego interfejsu" dla klasy Groovy. https://docs.oracle.com/javase/8/docs/api/java/util/function/package-summary.html – Wavyx
Trudno powiedzieć, nie widząc kodu dla 'mapString()' i 'mapDate() 'metody, ale może coś takiego by działało:' mapString ("first_name", {it.firstName} as Function) '. To nie jest tak wydajne, jak notacja funkcji-pointer-to-lambda-do-Functional-interface w java 8, ale myślę, że to zadziała tak samo. – BalRog