[JAVA] Punkt 43: Bevorzugen Sie Methodenverweise auf Lambdas

43. Verwenden Sie Methodenreferenzen anstelle von Lambda-Ausdrücken

//Methodenreferenz
service.execute(GoshThisClassNameIsHumongous::action);
//Lambda-Stil
service.execute(() -> action());
Method Ref Type Example Lambda Equivalent
Static Integer::parseInt str -> Integer.parseInt(str)
Bound Instant.now()::isAfter Instant then = Instant.now(); t -> then.isAfter(t)
Unbound String::toLowerCase str -> str.toLowerCase()
Class Constructor TreeMap<K,V>::new () -> new TreeMap<K,V>
Array Constructor int[]::new len -> new int[len]

Recommended Posts

Punkt 43: Bevorzugen Sie Methodenverweise auf Lambdas
Punkt 42: Bevorzugen Sie Lambdas gegenüber anonymen Klassen
Punkt 28: Listen Arrays vorziehen
Punkt 65: Schnittstellen der Reflexion vorziehen
Punkt 39: Bevorzugen Sie Anmerkungen gegenüber Namensmustern
Punkt 85: Bevorzugen Sie Alternativen zur Java-Serialisierung
Punkt 58: Bevorzugen Sie für jede Schleife herkömmliche Schleifen
Punkt 23: Bevorzugen Sie Klassenhierarchien gegenüber markierten Klassen
Punkt 61: Bevorzugen Sie primitive Typen gegenüber primitiven Boxen
Suchmethode
Punkt 81: Bevorzugen Sie Parallelitätsdienstprogramme, um zu warten und zu benachrichtigen
Punkt 80: Ziehen Sie Executoren, Aufgaben und Streams Threads vor
Punkt 89: Für die Steuerung bevorzugen Sie Aufzählungstypen gegenüber readResolve
Punkt 47: Sammlung als Rückgabetyp dem Stream vorziehen
16 Entspricht dem Methodenaufruf
Punkt 51: Signaturen der Entwurfsmethode sorgfältig
20 Entspricht statischen Methodenaufrufen
Einfach zu bedienende array.map (&: Methode)
So erstellen Sie eine Methode