Heim  >  Artikel  >  Java  >  Optionale Klasse in Java 8: Umgang mit möglichen Nullwerten

Optionale Klasse in Java 8: Umgang mit möglichen Nullwerten

WBOY
WBOYOriginal
2023-07-30 16:13:08986Durchsuche

Optionale Klasse in Java 8: Umgang mit möglichen Nullwerten

In der Softwareentwicklung müssen wir oft mit verschiedenen möglichen Nullwerten umgehen. Die traditionelle Verarbeitungsmethode besteht darin, durch bedingte Beurteilung zu beurteilen, ob der Wert leer ist, und dann die entsprechende Verarbeitung durchzuführen. Diese Methode ist nicht nur umständlich, sondern führt auch leicht zu langem Code und schlechter Lesbarkeit. Um dieses Problem zu lösen, hat Java 8 eine neue Klasse Optional eingeführt, die eine elegante Möglichkeit bietet, potenziell Nullwerte zu verarbeiten.

Die optionale Klasse ist eine Wrapper-Klasse, die jede Art von Wert umschließen und eine Reihe von Methoden verwenden kann, um diese Werte zu verarbeiten. Schauen wir uns einige Beispiele für die Verwendung der optionalen Klasse an.

  1. Optionales Objekt erstellen

Wir können die statische Methode Optional.of() verwenden, um ein optionales Objekt ungleich Null zu erstellen. Wenn der übergebene Wert null ist, wird eine NullPointerException ausgelöst. Zum Beispiel:

String name = "John";
Optional<String> optionalName = Optional.of(name);

Wir können auch die statische Methode Optional.ofNullable() verwenden, um ein optionales Objekt zu erstellen, und der übergebene Wert kann null sein. Zum Beispiel:

String name = null;
Optional<String> optionalName = Optional.ofNullable(name);
  1. Um festzustellen, ob das optionale Objekt leer ist

Wir können die Methode isPresent() verwenden, um zu bestimmen, ob das optionale Objekt leer ist. Gibt true zurück, wenn der Wert im optionalen Objekt vorhanden ist; gibt false zurück, wenn der Wert im optionalen Objekt leer ist. Zum Beispiel:

Optional<String> optionalName = Optional.of("John");
boolean isPresent = optionalName.isPresent();
  1. Standardwert verwenden

Wenn der Wert im optionalen Objekt leer ist, können wir die Methode orElse() oder orElseGet() verwenden, um einen Standardwert festzulegen. Auf diese Weise wird der Standardwert zurückgegeben, wenn das optionale Objekt leer ist. Zum Beispiel:

Optional<String> optionalName = Optional.ofNullable(null);
String name = optionalName.orElse("Default");
Optional<String> optionalName = Optional.ofNullable(null);
String name = optionalName.orElseGet(() -> "Default");
  1. Vorgänge in einem optionalen Objekt ausführen

Wir können die Methoden map() und flatMap() verwenden, um Vorgänge in einem optionalen Objekt auszuführen und ein neues optionales Objekt zurückzugeben. Zum Beispiel:

Optional<String> optionalName = Optional.of("John");
optionalName.map(String::toUpperCase);
Optional<String> optionalName = Optional.of("John");
optionalName.flatMap(name -> Optional.of(name.toUpperCase()));
  1. Ausnahme auslösen

Wir können die Methode orElseThrow() verwenden, um eine Ausnahme auszulösen, wenn das optionale Objekt leer ist. Zum Beispiel:

Optional<String> optionalName = Optional.ofNullable(null);
optionalName.orElseThrow(IllegalStateException::new);

Die oben genannten sind nur einige häufige Verwendungszwecke der optionalen Klasse. Sie bietet auch viele andere Methoden, die entsprechend den spezifischen Anforderungen ausgewählt und verwendet werden können.

Zusammenfassung

Die optionale Klasse in Java 8 bietet uns eine elegante Möglichkeit, mit möglicherweise Nullwerten umzugehen. Dadurch können umständliche bedingte Beurteilungen vermieden und der Code prägnanter, klarer und lesbarer gemacht werden. Bei Verwendung der optionalen Klasse müssen Sie auf das Auslösen und Behandeln von Nullzeigerausnahmen achten und die geeignete Methode auswählen, um unterschiedliche Anforderungen zu erfüllen.

Ich hoffe, dieser Artikel hilft Ihnen, die optionale Klasse in Java 8 zu verstehen!

Das obige ist der detaillierte Inhalt vonOptionale Klasse in Java 8: Umgang mit möglichen Nullwerten. 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