Heim  >  Artikel  >  Java  >  Wie kann der optionale Typ von Java die Handhabung von Nullen in Ketten von „Get“-Aufrufen vereinfachen?

Wie kann der optionale Typ von Java die Handhabung von Nullen in Ketten von „Get“-Aufrufen vereinfachen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-28 02:43:31488Durchsuche

How Can Java's Optional Type Simplify Handling Nulls in Chains of

Sicheres Navigieren in Ketten von „Get“-Aufrufen mit Optional

Bei der Java-Programmierung kommt es häufig vor, dass man auf Ketten von „Get“-Aufrufen stößt. wie zum Beispiel das Folgende:

house.getFloor(0).getWall(WEST).getDoor().getDoorknob();

Um potenzielle NullPointerExceptions zu vermeiden, greifen Entwickler häufig auf ausführliche Nullprüfungen zurück:

if (house != null &&& house.getFloor(0) &&& house.getFloor(0).getWall(WEST) != null &&& house.getFloor(0).getWall(WEST).getDoor() != null) ...

Dieser Ansatz wird bei längeren Aufrufketten noch unhandlicher. Gibt es eine elegantere Lösung?

Ja, mit der Einführung des optionalen Typs in Java 8 ist die Handhabung von Nullen in Ketten von Gets erheblich einfacher geworden.

Optional für die Nullbehandlung verwenden

Optional ist eine Wrapper-Klasse, die einen optionalen Wert darstellt. Es kann entweder einen Wert ungleich Null enthalten oder leer sein.

Um Optional für die Nullbehandlung in Ketten von Abrufen zu verwenden, können wir seine Verkettungsfunktionen mit der Methode map() nutzen.

Bedenken Sie Das folgende Beispiel:

Optional.ofNullable(house)
        .map(house -> house.getFloor(0))
        .map(floorZero -> floorZero.getWall(WEST))
        .map(wallWest -> wallWest.getDoor())
        .map(door -> wallWest.getDoor());

Dieser Code erstellt eine Kette optionaler Objekte, die jeweils das Ergebnis des entsprechenden Get-Aufrufs darstellen.

Vorteile der Verwendung von Optional

Die Verwendung von Optional bietet mehrere Vorteile:

  • Null-Prüfungen werden automatisch behandelt:Optional führt automatisch Null-Prüfungen durch, sodass keine expliziten Null-Prüfungen in Ihrem Code erforderlich sind.
  • Sichere Get-Aufrufe:Wenn einer der Get-Aufrufe null zurückgibt, ist das entsprechende Optional leer, wodurch NullPointerExceptions verhindert werden.
  • Fluent API: Die Verkettungsfunktionen von Optional bieten eine prägnante und lesbare Möglichkeit, mit Nullen in Ketten von Gets umzugehen.

Fazit

Wenn Sie es nicht vermeiden können, das Gesetz von Demeter zu brechen, Die Verwendung von Optional ist ein dringend empfohlener Ansatz zum sicheren Navigieren in Ketten von „get“-Aufrufen. Es bietet eine elegante und effiziente Möglichkeit, mit Nullen umzugehen und stellt die Robustheit und Zuverlässigkeit Ihres Codes sicher.

Das obige ist der detaillierte Inhalt vonWie kann der optionale Typ von Java die Handhabung von Nullen in Ketten von „Get“-Aufrufen vereinfachen?. 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