Heim  >  Artikel  >  Java  >  Element Verweise auf Methoden gegenüber Lambdas bevorzugen

Element Verweise auf Methoden gegenüber Lambdas bevorzugen

王林
王林Original
2024-07-19 14:02:39732Durchsuche

Vorteile von Referenzen für Methoden

  • Prägnanz: Verweise auf Methoden sind prägnanter als Lambdas.
    Beispiel: Erhöhen Sie den Wert in einer Karte mithilfe von merge:

  • Lambda: (Anzahl, Inkr) -> zählen + erhöhen
    Referenz für Methode: Integer::sum

Boilerplate-Reduktion
Entfernung nutzloser Parameter:Parameter wie count und incr werden eliminiert.
Beispiel:

map.merge(key, 1, Integer::sum);

Effiziente Nutzung von Referenzen für Methoden

  • Nützliche Dokumentation in Lambdas: In manchen Fällen können Parameternamen in Lambdas eine nützliche Dokumentation liefern.
  • Konvertierung von Lambdas in Methoden: Wenn ein Lambda zu komplex ist, extrahieren Sie den Code in eine separate Methode und verwenden Sie den Verweis auf diese Methode.

IDEs und Referenzen für Methoden

  • IDE-Vorschläge: IDEs schlagen oft vor, Lambdas durch Verweise auf Methoden zu ersetzen.
  • Annahme von Vorschlägen: Akzeptieren Sie Vorschläge im Allgemeinen, bewerten Sie sie jedoch von Fall zu Fall.

Ausnahmen und Überlegungen

  • Prägnantere Lambdas:Manchmal sind Lambdas prägnanter als Methodenverweise.
  • Beispiel mit Klasse:
  • Referenz für Methode: GoshThisClassNameIsHumongous::action
  • Lambda: () -> action()
  • Identitätsfunktion: Function.identity() vs. x -> x

Arten von Referenzen für Methoden

  • Statisch: Integer::parseInt (lambda: str -> Integer.parseInt(str))
  • Limitiert: Instant.now()::isAfter (lambda: t -> Instant.now().isAfter(t))
  • Unbegrenzt: String::toLowerCase (lambda: str -> str.toLowerCase())
  • Klassenkonstruktor: TreeMap::new (lambda: () -> new TreeMap)
  • Array-Konstruktor: int[]::new (lambda: len -> new int[len])

Fazit
Bevorzugung von Methodenreferenzen:Verwenden Sie Methodenreferenzen, wenn diese kürzer und klarer als Lambdas sind.
Verwendung von Lambdas:Lambdas bevorzugen, wenn sie prägnanter sind oder eine bessere Dokumentation bieten.

Item  Dê preferência às referências para métodos em vez dos lambdas

Das obige ist der detaillierte Inhalt vonElement Verweise auf Methoden gegenüber Lambdas bevorzugen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn