Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java 8 – Optionale Klasse

Optional ist ein Containerobjekt, das verwendet wird, um Nicht-Null-Objekte zu enthalten. Optionales Objekt wird verwendet, um null mit fehlendem Wert darzustellen. Diese Klasse verfügt über verschiedene Hilfsmethoden, um Code zu erleichtern, Werte als „verfügbar“ oder „nicht verfügbar“ zu behandeln, anstatt Nullwerte zu prüfen. Es wurde in Java 8 eingeführt und ähnelt dem, was Optional in Guava ist.

Klassenerklärung

Es folgt die Deklaration für java.util.Optional Klasse −

public final class Optional<T> extends Object

Klassenmethode

Sr.No. Methode &Beschreibung
1

statisch Optional leer()

Gibt eine leere optionale Instanz zurück.

2

boolean equals(Object obj)

Gibt an, ob ein anderes Objekt "gleich" diesem Optional ist.

3

Optional filter(Prädikat Prädikat)

Wenn ein Wert vorhanden ist und der Wert mit einem gegebenen Prädikat übereinstimmt, wird ein Optional zurückgegeben, das den Wert beschreibt, andernfalls wird ein leeres Optional zurückgegeben.

4

Optional flatMap(Function> mapper)

Wenn ein Wert vorhanden ist, wendet es die bereitgestellte Zuordnungsfunktion für optionale Werte darauf an, gibt dieses Ergebnis zurück, andernfalls gibt es ein leeres Optional zurück.

5

T get()

Wenn ein Wert in diesem Optional vorhanden ist, wird der Wert zurückgegeben, andernfalls wird NoSuchElementException ausgelöst.

6

int hashCode()

Gibt den Hashcodewert des aktuellen Werts zurück, falls vorhanden, oder 0 (Null), wenn kein Wert vorhanden ist.

7

void ifPresent(Consumerconsumer)

Wenn ein Wert vorhanden ist, ruft es den angegebenen Verbraucher mit dem Wert auf, ansonsten tut es nichts.

8

boolean isPresent()

Gibt true zurück, wenn ein Wert vorhanden ist, andernfalls false.

9

Optional map(Funktion mapper)

Wenn ein Wert vorhanden ist, wendet die bereitgestellte Zuordnungsfunktion darauf an, und wenn das Ergebnis nicht null ist, gibt es ein Optional zurück, das das Ergebnis beschreibt.

10

statisches Optional von (T-Wert)

Gibt ein Optional mit dem angegebenen vorhandenen Nicht-Null-Wert zurück.

11

statisches Optional vonNullable(T-Wert)

Gibt ein Optional zurück, das den angegebenen Wert beschreibt, falls nicht null, ansonsten ein leeres Optional.

12

T orElse(T andere)

Gibt den Wert zurück, falls vorhanden, ansonsten other.

13

T orElseGet(Lieferantanderes)

Gibt den Wert zurück, falls vorhanden, ruft andernfalls other auf und gibt das Ergebnis dieses Aufrufs zurück.

14

T orElseThrow(Supplier exceptionSupplier)

Gibt den enthaltenen Wert zurück, falls vorhanden, löst andernfalls eine Ausnahme aus, die vom bereitgestellten Lieferanten erstellt wird.

15

String zuString()

Gibt eine nicht-leere Zeichenfolgendarstellung dieser Option zurück, die zum Debuggen geeignet ist.

Diese Klasse erbt Methoden von der folgenden Klasse −

Optionales Beispiel

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl in beispielsweise C:\> JAVA.

Java8Tester.java

Live-Demo
import java.util.Optional;

public class Java8Tester {

   public static void main(String args[]) {
      Java8Tester java8Tester = new Java8Tester();
      Integer value1 = null;
      Integer value2 = new Integer(10);
		
      //Optional.ofNullable - allows passed parameter to be null.
      Optional<Integer> a = Optional.ofNullable(value1);
		
      //Optional.of - throws NullPointerException if passed parameter is null
      Optional<Integer> b = Optional.of(value2);
      System.out.println(java8Tester.sum(a,b));
   }
	
   public Integer sum(Optional<Integer> a, Optional<Integer> b) {
      //Optional.isPresent - checks the value is present or not
		
      System.out.println("First parameter is present: " + a.isPresent());
      System.out.println("Second parameter is present: " + b.isPresent());
		
      //Optional.orElse - returns the value if present otherwise returns
      //the default value passed.
      Integer value1 = a.orElse(new Integer(0));
		
      //Optional.get - gets the value, value should be present
      Integer value2 = b.get();
      return value1 + value2;
   }
}

Überprüfen Sie das Ergebnis

Kompilieren Sie die Klasse mit javac Compiler wie folgt −

C:\JAVA>javac Java8Tester.java

Führen Sie nun den Java8Tester wie folgt aus −

C:\JAVA>java Java8Tester

Es sollte die folgende Ausgabe erzeugen −

First parameter is present: false
Second parameter is present: true
10

Java

  1. Letztes Java-Schlüsselwort
  2. Java-Instanz des Operators
  3. Verschachtelte statische Java-Klasse
  4. Anonyme Java-Klasse
  5. Java-Singleton-Klasse
  6. Java-Reflexion
  7. Java ObjectOutputStream-Klasse
  8. Java-Generika
  9. Java-Dateiklasse
  10. Java 9 – Optionale Klassenverbesserungen