


Optionale Klasse in Java 8: Umgang mit möglichen Nullwerten mithilfe der Methode orElseThrow()
Optionale Klasse in Java 8: So verwenden Sie die Methode orElseThrow(), um möglicherweise Nullwerte zu verarbeiten
Einführung:
In der Java-Entwicklung stoßen wir häufig auf Situationen, in denen wir möglicherweise mit Nullwerten umgehen. In früheren Java-Versionen haben wir normalerweise null verwendet, um das Fehlen eines Werts anzuzeigen. Es gibt jedoch einige Probleme bei der Verwendung von Null. Beispielsweise müssen wir häufig feststellen, ob es Null ist, und es besteht die Gefahr, dass Nullzeigerausnahmen auftreten. Um diese Probleme zu lösen, führte Java 8 die Klasse Optional ein. Die optionale Klasse bietet eine elegante Möglichkeit, potenziell Nullwerte zu verarbeiten.
In diesem Artikel wird orElseThrow(), eine wichtige Methode der optionalen Klasse, vorgestellt und ihre Verwendung anhand von Beispielcode demonstriert.
Grundlegende Verwendung der optionalen Klasse: Die
Optional-Klasse ist eine in Java 8 eingeführte Containerklasse, die zum Umschließen eines Werts verwendet wird, der möglicherweise Null ist. Es bietet einige Methoden, die uns beim Umgang mit Nullwertsituationen helfen. Schauen wir uns zunächst die grundlegende Verwendung der optionalen Klasse an.
- Erstellen optionaler Objekte
Sie können optionale Objekte über die statische Methode Optional.ofNullable(T-Wert) erstellen. Wenn der Wert null ist, wird ein leeres optionales Objekt erstellt. Wenn der Wert nicht null ist, wird ein optionales Objekt erstellt, das einen Wert enthält.
Beispielcode:
String name = "Alice"; Optional<String> optionalName = Optional.ofNullable(name); // 另一种方式创建空的 Optional Optional<String> emptyOptional = Optional.empty();
- Bestimmen Sie, ob Optional einen Wert hat
Sie können feststellen, ob ein Wert vorhanden ist, indem Sie die Methode isPresent() des Optional-Objekts aufrufen. Diese Methode gibt einen booleschen Wert zurück, der angibt, ob das optionale Objekt einen Wert ungleich Null enthält.
Beispielcode:
if (optionalName.isPresent()) { System.out.println("存在值"); } else { System.out.println("值为空"); }
- Erhalten Sie den Wert von Optional
Sie können seinen Wert erhalten, indem Sie die Methode get() des optionalen Objekts aufrufen. Bevor Sie jedoch die Methode get() aufrufen, verwenden Sie am besten die Methode isPresent(), um festzustellen, ob das Optional vorhanden ist. Denn wenn Optional leer ist, löst der Aufruf der get()-Methode eine NoSuchElementException-Ausnahme aus.
Beispielcode:
if (optionalName.isPresent()) { System.out.println("姓名为:" + optionalName.get()); } else { System.out.println("姓名为空"); }
Verwendung von orElseThrow():
Zusätzlich zur oben genannten Grundverwendung bietet die optionale Klasse auch eine leistungsstarke Methode orElseThrow(). Diese Methode löst die angegebene Ausnahme aus, wenn das optionale Objekt keinen Wert enthält.
- Verwenden Sie die Methode orElseThrow(), um Ausnahmen auszulösen
Sie können die auszulösende Ausnahme angeben, indem Sie die Methode orElseThrow(Supplier erweitert Throwable> AusnahmeSupplier) des optionalen Objekts aufrufen. Beachten Sie, dass hier eine Referenz auf eine abnormale Konstruktormethode übergeben wird.
Beispielcode:
Double price = null; Double finalPrice = Optional.ofNullable(price) .orElseThrow(() -> new IllegalArgumentException("价格为空")); System.out.println("最终价格为:" + finalPrice);
Wenn im obigen Code der Preis leer ist, wird eine IllegalArgumentException ausgelöst.
- Benutzerdefinierte Ausnahmeklasse
Wir können eine Ausnahmeklasse auch anpassen, um bestimmte Ausnahmen zu behandeln.
Beispielcode:
class PriceNullException extends RuntimeException { public PriceNullException(String message) { super(message); } } Double price = null; Double finalPrice = Optional.ofNullable(price) .orElseThrow(() -> new PriceNullException("价格为空")); System.out.println("最终价格为:" + finalPrice);
Wenn im obigen Code der Preis leer ist, wird eine benutzerdefinierte PriceNullException-Ausnahme ausgelöst.
- Vergleich zwischen der orElseThrow()-Methode und anderen Methoden
Im Vergleich zur vorherigen get()-Methode löst die orElseThrow()-Methode keine NoSuchElementException-Ausnahme aus, wenn Optional leer ist, kann aber eine benutzerdefinierte Ausnahme auslösen. Dadurch wird der Code sauberer und besser lesbar.
Fazit:
Dieser Artikel stellt die Verwendung der orElseThrow()-Methode der optionalen Klasse in Java 8 vor und demonstriert anhand von Codebeispielen, wie mit möglichen Nullwerten umgegangen wird. Die Verwendung der optionalen Klasse kann unseren Code stabiler und sicherer machen und die Häufigkeit von Nullzeigerausnahmen verringern. Sie müssen jedoch auch darauf achten, es bei der Verwendung optionaler Klassen nicht zu übertreiben, damit der Code nicht zu langatmig und schwer verständlich wird. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die optionale Klasse besser zu verstehen und zu verwenden.
Das obige ist der detaillierte Inhalt vonOptionale Klasse in Java 8: Umgang mit möglichen Nullwerten mithilfe der Methode orElseThrow(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.
