Heim >Java >javaLernprogramm >So verwenden Sie die optionale Funktion in Java für die Nullwertbehandlung
Java ist eine sehr beliebte Programmiersprache, die viele integrierte Funktionen zur Verbesserung der Entwicklungseffizienz bietet. Unter anderem kann die optionale Funktion Programmierern dabei helfen, Probleme mit Nullwerten bequemer zu lösen. In diesem Artikel erklären wir, wie Sie die optionale Funktion in Java für die Behandlung von Nullwerten verwenden.
Was ist eine optionale Funktion?
In Java8 ist Optional eine Klasse, die einen möglicherweise leeren Container darstellt. Wenn ein optionales Objekt einen Wert ungleich Null enthält, gibt die Methode isPresent() true zurück, andernfalls false. Die optionale Klasse bietet viele Hilfsmethoden und Funktionsschnittstellen, um die Verarbeitung von Nullwerten komfortabler zu gestalten.
Wie verwende ich die optionale Funktion?
Zuerst müssen wir verstehen, wie man ein optionales Objekt erstellt. Wir können jede der drei statischen Methoden of(), ofNullable() und empty() verwenden, um optionale Objekte zu erstellen. Unter diesen kann die of()-Methode nur Nicht-Null-Werte empfangen. Wenn ein Nullwert übergeben wird, kann die ofNullable()-Methode jeden Werttyp akzeptieren, wenn es sich um einen Nullwert handelt Wird übergeben, wird ein leeres optionales Objekt zurückgegeben. Die Methode empty() gibt direkt ein leeres optionales Objekt zurück.
Optional<String> name = Optional.of("张三"); //创建一个包含非空值的Optional对象 Optional<String> emptyName = Optional.empty();//创建一个空的Optional对象 Optional<String> anotherName = Optional.ofNullable(null);//创建一个包含null值的Optional对象
Wir können die Methode get() verwenden, um den Wert im optionalen Objekt abzurufen. Wenn der Wert im optionalen Objekt leer ist, löst die Methode get() eine NoSuchElementException aus. Daher ist es am besten, vor der Verwendung der get()-Methode die isPresent()-Methode zu verwenden, um eine Beurteilung zu treffen und sicherzustellen, dass der Wert im optionalen Objekt nicht leer ist.
Optional<String> name = Optional.of("张三"); if(name.isPresent()){ String n = name.get(); System.out.println(n); //输出"张三" }
Wenn der Wert im optionalen Objekt leer ist, können wir auch die Methode orElse() verwenden, um den Standardwert festzulegen. Wenn der Wert im optionalen Objekt leer ist, gibt die Methode orElse() den von uns festgelegten Standardwert zurück.
Optional<String> name = Optional.empty(); String n = name.orElse("未知"); //设置默认值为"未知" System.out.println(n); //输出"未知"
Zusätzlich zur orElse()-Methode können wir auch die orElseGet()-Methode und die orElseThrow()-Methode verwenden. Diese Methoden werden auch verwendet, um das Nullwertproblem in optionalen Objekten zu lösen.
Die orElseGet()-Methode empfängt eine Lieferantenschnittstelle, um einen Standardwert zu generieren, anstatt einen bereits generierten Standardwert wie die orElse()-Methode zu übergeben. Die Methode
Optional<String> name = Optional.empty(); String n = name.orElseGet(() -> "未知"); //使用Supplier接口生成默认值 System.out.println(n); //输出"未知"
orElseThrow() wird verwendet, um die Ausnahme zu behandeln, die ausgelöst wird, wenn der Wert im optionalen Objekt leer ist.
Optional<String> name = Optional.empty(); String n = name.orElseThrow(() -> new RuntimeException("值为空")); //抛出RuntimeException异常
Zusätzlich zu den oben genannten Methoden bietet die optionale Klasse auch viele andere Methoden wie map(), flatMap(), filter() usw., die uns beim Umgang mit Nullwerten in optionalen Objekten helfen können bequemer.
Optional<String> name = Optional.of("张三"); Optional<String> capitalizedName = name.map((value) -> value.toUpperCase()); //使用map()方法将值转换为大写 System.out.println(capitalizedName.get()); //输出"张三"
Zusammenfassung
In diesem Artikel haben wir die Optional-Klasse in Java vorgestellt und erklärt, wie man die Optional-Funktion für die Nullwertbehandlung verwendet. Durch die Verwendung optionaler Funktionen können wir unseren Code defensiver programmieren und die durch Nullwerte verursachte Unsicherheit vermeiden. Natürlich müssen wir auch bei der Verwendung der Klasse Optional darauf achten, sie nicht als universellen Datentyp zu verwenden, da sonst der Code unnötig aufgebläht wird.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die optionale Funktion in Java für die Nullwertbehandlung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!