Optional.of
- Java kursu
- İleri seviye
- Ders 7/82
- 5 dk
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
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
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
Optional<String> opt = Optional.____("Merhaba");
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 |