ofNullable
- Java kursu
- İleri seviye
- Ders 8/82
- 5 dk
Optional.ofNullable ile null güvenliğini öğrenirsin.
null güvenli sarma: ofNullable
Optional.ofNullable(değer), değeri null olsa bile çalışır: null değilse değeri sarmalar, null ise boş bir Optional döndürür. Böylece NullPointerException riski ortadan kalkar.
Örnek: Optional.ofNullable(maybeNull). Eğer maybeNull null ise sonuç Optional.empty()'dir; değilse değerin olduğu bir Optional'dır. Bu yöntem, dış kaynaktan gelen verilerde güvenli bir varsayılan seçenektir.
ofNullable ile zincirleme
ofNullable genellikle bir dizi çağrıyla kullanılır. Değer varsa map veya filter uygulanır; yoksa tüm zincir sessizce boş Optional'a düşer.
Örnek: Optional.ofNullable(input).map(String::toUpperCase).orElse("BOŞ"). Eğer input null ise map atlanır ve sonuç "BOŞ" olur. Bu desen, iç içe null denetimlerini tek satıra indirir ve hem kısa hem de okunaklıdır.
Uygulama null olabilecek değeri sarmala
Bir String maybe = null değişkeni tanımla. Optional.ofNullable(maybe) ile bir Optional<String> oluştur. isPresent() sonucunu System.out.println ile yazdır.
Başlangıç kodu
import java.util.Optional;
// null olabilecek değeri sarmala
// Optional.ofNullable kullan
// isPresent sonucunu yazdırÖrnek çözüm
import java.util.Optional;
public class NullableOptional {
public static void main(String[] args) {
String maybe = null;
Optional<String> opt = Optional.ofNullable(maybe);
System.out.println(opt.isPresent());
}
}Beklenen çıktı
false
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ofNullable davranışlarını eşleştir
| Kavram | Anlamı |
|---|---|
ofNullable(null) |
Optional.empty() |
ofNullable("x") |
Optional[x] |
Optional.of(null) |
NullPointerException |
ofNullable |
null güvenli |
2 Hangi yöntem null değeri güvenli biçimde sarmalar?
- Optional.of
- Optional.empty
- Optional.get
- Optional.ofNullable Doğru cevap
Açıklama: ofNullable null değer için boş Optional döndürür.
3 ofNullable çağrısını tamamla
Optional<String> opt = Optional.____(maybeNull);
Optional<String> opt = Optional.ofNullable(maybeNull);
Açıklama: ofNullable null güvenli sarmalayıcıdır.