Optional - Satttoshi/github-wiki-generator GitHub Wiki
Optional ist eine Java-Klasse, die es ermöglicht, nullable Werte mit mehr Sicherheit und Lesbarkeit zu behandeln. Es ist Teil des java.util Packages und wurde zum ersten Mal in Java 8 eingeführt. Die Verwendung von Optional kann dazu beitragen, NullPointerExceptions zu vermeiden, da die Verwendung von null vorher überprüft wird.
Optional-Objekte können auf drei Arten initialisiert werden:
- 
Optional.of(value): Erstellt einOptional-Objekt mit dem angegebenen Wert und gibt eine Exception zurück, wennvaluenull ist. - 
Optional.empty(): Erstellt ein leeresOptional-Objekt. - 
Optional.ofNullable(value): Erstellt einOptional-Objekt mit dem angegebenen Wert, gibt jedoch kein Fehler zurück, wennvaluenull ist. 
Die Verwendung von Optional kann den Code lesbarer und sicherer machen, indem es verhindert, dass Werte auf null überprüft werden müssen. So kann beispielsweise in einem Person-Objekt das Attribut name mit Optional initialisiert werden:
public class Person {
    private Optional<String> name;
    public Person(String name) {
        this.name = Optional.ofNullable(name);
    }
    public Optional<String> getName() {
        return name;
    }
}Wenn nun ein Person-Objekt ohne Namen erstellt wird, ergibt sich folgendes:
Person person1 = new Person("Max Mustermann");
Person person2 = new Person(null);
System.out.println(person1.getName().orElse("Kein Name angegeben")); // Gibt "Max Mustermann" aus
System.out.println(person2.getName().orElse("Kein Name angegeben")); // Gibt "Kein Name angegeben" ausorElse() gibt in diesem Fall den Alternativwert zurück, wenn name null ist.
Optional in Java ist ein wichtiges Konzept für eine verbesserte Programmierung, da es die Lesbarkeit von Code erhöht und gleichzeitig NullPointerExceptions vermeidet. Es sollte jedoch beachtet werden, dass es manchmal sinnvoll ist, null-Werte zuzulassen. In jedem Fall ist es jedoch eine Überlegung wert, Optional zu verwenden, um den Code sicherer zu machen.