CodeBlanks Logo Icon CodeBlanks

Optional.of

Optional.of ile değer sarmayı öğrenirsin.

Optional ile değer sarmalama

Optional<T>, bir değerin var olup olmadığını belirten bir sarmalayıcıdır (container). null dönmek yerine Optional kullanmak NullPointerException riskini azaltır.

İçinde değer olan bir Optional oluşturmak için Optional.of(değer) kullanılır. Örnek: Optional<String> opt = Optional.of("Merhaba");. Bu yöntem null geçirilirse NullPointerException fırlatır; bu yüzden değerin null olmadığından emin olduğun durumlar içindir.

Boş Optional: empty

Bazen değerin yokluğunu açıkça ifade etmek istersin. Optional.empty() içinde değer olmayan bir Optional döndürür. Bu nesne tekildir (singleton); yani her çağrı aynı örneği verir.

Örnek: Optional<String> bos = Optional.empty();. Bu, null dönmekten daha güvenlidir; çağıran taraf Optional türüyle boşluğu görür ve isPresent veya orElse ile güvenli şekilde ele alır. Bir yöntem bulamazsa Optional.empty() döndürmek yerleşik bir uygulamadır.

Uygulama Bir dizgiyi Optional.of ile sarmala

Optional<String> türünde opt değişkeni tanımla; içine Optional.of("Merhaba") ile değer koy. map(String::toUpperCase) ile büyük harfe çevir ve orElse("") ile boş duruma karşı koru. Sonucu System.out.println ile yazdır.

Başlangıç kodu

Main.java
import java.util.Optional;

// "Merhaba" dizgisini Optional.of ile sarmala
// map ile büyük harfe çevir, orElse ile boş dizgi ver
// Sonucu yazdır

Örnek çözüm

Main.java
import java.util.Optional;

public class HelloOptional {
    public static void main(String[] args) {
        Optional<String> opt = Optional.of("Merhaba");
        String result = opt.map(String::toUpperCase).orElse("");
        System.out.println(result);
    }
}

Beklenen çıktı

MERHABA

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangi yönteme null geçirilirse NullPointerException fırlar?

  • Optional.empty
  • Optional.ofNullable
  • Optional.of Doğru cevap
  • Optional.map

Açıklama: Optional.of null kabul etmez; bu yüzden null güvenli sürüm ofNullable'dir.

2 Optional.of çağrısını tamamla

Soru
Optional<String> opt = Optional.____("Merhaba");
Cevap
Optional<String> opt = Optional.of("Merhaba");

Açıklama: of, null olmayan değeri sarmalar.

3 Optional kavramlarını eşleştir

Kavram Anlamı
Optional.of null kabul etmez
Optional.empty Boş kap
Optional<T> Sarmalayıcı
null Tehlikeli değer

İleri seviye bölümündeki tüm dersler