


Wie benutze ich die optionale Klasse, um NullPointerexception in Java zu vermeiden?
Sep 25, 2025 am 06:04 AMDie optionale Klasse wird verwendet, um Werte sicher zu verarbeiten, die null sein k?nnen, wodurch Null -Zeiger -Ausnahmen vermieden werden. 1. Erstellen Sie eine Instanz mit optional.ofnullierbar, um Nullwerte zu verarbeiten. 2. überprüfen Sie die Werte über ISPresent oder If Present Security, um direkte Anrufe zu vermeiden, um Ausnahmen zu verursachen. 3.. Verwenden Sie Orelse und Orelseget, um Standardwerte bereitzustellen, oder verwenden Sie Orelsethrow, um eine benutzerdefinierte Ausnahme auszulegen. 4. Konvertieren oder Filterwerte durch Karten- und Filterkettenvorg?nge, um die Code -Lesbarkeit und -Robustheit zu verbessern.
Die optionale Klasse in Java, die in Java 8 eingeführt wurde, ist ein Beh?lter, der einen Nichtnullwert enth?lt oder nicht. Es hilft Entwicklern, einen saubereren und sichereren Code zu schreiben, indem es explizit das Vorhandensein oder Fehlen von Werten behandelt und so das Risiko einer Nullpointerexception verringert.
1. Erstellen optionaler Instanzen
Verwenden Sie statische Fabrikmethoden, um optionale Objekte zu erstellen, basierend darauf, ob ein Wert vorhanden ist.
- Optional.of (Wert) : Verwenden Sie, wenn Sie sicher sind, dass der Wert nicht null ist. Wirft nullPointerexception aus, wenn der Wert null ist.
- Optional.ofnullable (Wert) : Verwenden Sie, wenn der Wert null ist. Gibt ein leeres optional zurück, wenn der Wert null ist.
- Optional.Empty () : Gibt eine leere optionale Instanz explizit zurück.
Beispiel:
String name = "Alice"; Optional <string> optionalName = optional.ofnullable (Name); Optional <string> leername = optional.ofnulleable (null); // optional leeren </string></string>
2. Werte sicher überprüfen und abrufen
Niemals .Get () anrufen, ohne zu überprüfen, ob ein Wert vorhanden ist - es wirft NoSuchelementException aus, wenn das optionale leer ist.
- .isspresent () : überprüft, ob ein Wert existiert.
- .Ifpresent (Verbraucher) : Führen Sie nur einen Codeblock aus, wenn der Wert vorhanden ist.
Beispiel:
if (optionalName.ispresent ()) { System.out.println ("Hallo", optionalname.get ()); } // Besserer Ansatz mit IFPresent optionalName.ifpresent (name -> system.out.println ("hello", name));
3. Geben Sie Standardwerte an
Verwenden Sie Fallback -Mechanismen, wenn das optionale leer ist.
- .Orelse (defaultValue) : Gibt den Wert zurück, wenn vorhanden, andernfalls die Standardeinstellung zurückgibt.
- .orelseget (Lieferant) : Gleich wie Orelse, aber faul bewertet den Lieferanten (effizienter, wenn die Ausfallerstellung teuer ist).
- .Orelsethrow (Ausnahmen) : l?st eine Ausnahme aus, wenn kein Wert vorhanden ist.
Beispiele:
String result1 = optionalName.orelse ("Gast"); String result2 = optionalName.orelseget (() -> fetchdefaultName ()); String result3 = optionalName.orelsethrow (() -> Neues IllegalArgumentException ("Name ist fehlt"));
4. Erkettungsvorg?nge mit Karte und Filter
Verwandeln oder filtern Sie den Wert im Inneren optional, ohne manuell auf Null zu überprüfen.
- .Map (Funktion) : Wendet eine Funktion auf den Wert an, wenn es vorhanden ist, und gibt eine neue optionale zurück.
- .Filter (Pr?dikat) : Gibt den optionalen Rückgabetreiben, wenn der Wert mit der Bedingung übereinstimmt, ansonsten leer zurückgibt.
Beispiel:
Optional <string> oberName = optionalName filter (name -> name.length ()> 3) .Map (String :: touppercase); UpperName.ifpresent (System.out :: println); // druckt, wenn der Name lang genug ist </string>
Die Verwendung optional f?rdert explizite Handhabung von Nullf?llen und führt zu lesbareren und robusteren Code. Anstatt NPES Ihr Programm zum Absturz zu bringen, definieren Sie ein klares Verhalten für fehlende Werte. Grunds?tzlich verschiebt es die Verantwortung, Ausnahmen zu veranlasst, um absolut anmutig zu verwalten.
Das obige ist der detaillierte Inhalt vonWie benutze ich die optionale Klasse, um NullPointerexception in Java zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

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)

Die optionale Klasse wird verwendet, um Werte sicher zu verarbeiten, die null sein k?nnen, wodurch Null -Zeiger -Ausnahmen vermieden werden. 1. Erstellen Sie eine Instanz mit optional.ofnullierbar, um Nullwerte zu verarbeiten. 2. überprüfen Sie die Werte über ISPresent oder If Present Security, um direkte Anrufe zu vermeiden, um Ausnahmen zu verursachen. 3.. Verwenden Sie Orelse und Orelseget, um Standardwerte bereitzustellen, oder verwenden Sie Orelsethrow, um eine benutzerdefinierte Ausnahme auszulegen. 4. Konvertieren oder Filterwerte durch Karten- und Filterkettenvorg?nge, um die Code -Lesbarkeit und -Robustheit zu verbessern.

Verwenden Sie die GetClass () -Methode, um die Laufzeitklasse des Objekts wie Str.GetClass () zu erhalten, um das Klassenobjekt zurückzugeben. Für Typen k?nnen Sie die Syntax der String.Class -Syntax direkt verwenden. Die Klassenklasse enth?lt Methoden wie GetName (), GetImplename (), um Klasseninformationen wie num.getClass () zu erhalten. GetImplename (), um Ganzzahl auszugeben.

Atwo-dimensionalarrayinjavaisanArrayofArrays, deklariert mitWobrackets, gleichen [] [] matrix, und canbeinitialisiert mit dem ValuenoususingNew; Forexample, int [] [] matrix = {{1,2}, {3,4}}}; erstelltesa3x2matrix.

ThecurrentworkingDirectoryinjavacanbeoBtainedusingStem.getProperty ("user.dir"), whitReturnStheAbSolutepathwheretheProgramwashaslaunted; alternativ, paths.get

AsingletonClassinjavaensuresurlyoneinstancexists ThroughoutanApplication'slifecycleByusingAprivateConstructor, AprivatestaticInstance und ApublicstaticgetInstance () Methode;

GenericSinjavaprovidecompile-TimetypeSafetyandeliminateneedForcastingByaloklulenclasses, Schnittstellen und Methodstooperattypeparameter;

ToimplementAcustomComparatorinjava, CreateAclassorlambdatoverridestheComparemethodtodeFinesortinglogic.forexample, withApersonClassHavavingNameandagefields, DecleleAgeComparatorImplementingComparatorandoverridecometosortosortosortosortosortosortosortosortosortoStintEinte.comPareger

Caches und Cookies k?nnen für bestimmte Websites gereinigt werden, um die UC -Browser -Seite zu beheben, um Ausnahmen zu laden. 1. Gehen Sie zu Einstellungen → Datenschutz und Sicherheit → Website -Datenverwaltung, suchen Sie nach der Zielwebsite und l?schen Sie ihre Daten. 2. Verwenden Sie den unsichtbaren Browsermodus, um auf die Problem -Website zuzugreifen, um die Datenbindung zu vermeiden. 3. Setzen Sie den Speicher zurück, indem Sie die Website -Berechtigungen deaktivieren und aktivieren, und erzwingen Sie den alten Cache.
