Optional Sınıfını Doğru Kullanmak: NullPointerException’a Veda Etmenin Yolları
Java geliştiricilerinin en büyük baş belalarından biri olan NullPointerException , Tony Hoare’ın kendi deyimiyle “milyar dolarlık hata”…

Optional Sınıfını Doğru Kullanmak: NullPointerException’a Veda Etmenin Yolları
Java geliştiricilerinin en büyük baş belalarından biri olan NullPointerException , Tony Hoare’ın kendi deyimiyle “milyar dolarlık hata” olarak tarihe geçmiştir. Java 8 ile birlikte gelen Optional sınıfı, bu soruna modern ve fonksiyonel bir çözüm sunuyor. Ancak Optional’ı yanlış kullanmak, null kontrollerinden daha kötü bir kod yazmamıza neden olabilir.
Bu yazıda, Optional’ın ne olduğunu, nasıl doğru kullanılacağını ve hangi tuzaklardan kaçınmamız gerektiğini inceleyeceğiz.
Optional Nedir?
Optional, bir değerin var olup olmadığını temsil eden bir container sınıfıdır. İki durumu ifade eder: değer var veya yok.
Sorun: Geleneksel Null Kontrolü

Çözüm: Optional ile

Optional Oluşturma

Değer Alma: Doğru Yöntemler
Riskli: get()

Güvenli Alternatifler

Not: orElse() her zaman çalışır, orElseGet() sadece Optional boşsa çalışır!
Fonksiyonel Kullanım
map() — Dönüşüm

flatMap() — İç İçe Optional’lar

filter() — Filtreleme

Bunlardan Kaçınmalıyız!
- Field Olarak Kullanmak

2. Method Parametrelerinde Kullanmak

3. Collection’larda Optional

4. Optional Üzerinde Null Kontrolü

Özetle
Yapılması Gerekenler:
- orElse, orElseGet, orElseThrow tercih etmeliyiz.
- map, flatMap, filter ile fonksiyonel stil kullanmalıyız.
- Primitive Optional’ları kullanmalıyız.(performans için)
Yapılmaması Gerekenler:
- Field olarak kullanmamalıyız.
- Method parametrelerinde kullanmamalıyız.
- Collection içinde kullanmamalıyız.
- Her yerde körü körüne kullanmamalıyız.
Sonuç
Optional, doğru kullanıldığında kodumuzu daha güvenli ve okunabilir hale getirir. Amacını anlayarak ve uygun yerlerde kullanarak kodumuzun kalitesini artırabiliriz.
İyi kodlamalar!
메타데이터
- post_id
- ff0e655ad341
- slug
- optional-sınıfını-doğru-kullanmak-nullpointerexceptiona-veda-etmenin-yolları-ff0e655ad341
- url
- https://medium.com/@bekirahmetli/optional-s%C4%B1n%C4%B1f%C4%B1n%C4%B1-do%C4%9Fru-kullanmak-nullpointerexceptiona-veda-etmenin-yollar%C4%B1-ff0e655ad341
- canonical_url
- https://medium.com/@bekirahmetli/optional-s%C4%B1n%C4%B1f%C4%B1n%C4%B1-do%C4%9Fru-kullanmak-nullpointerexceptiona-veda-etmenin-yollar%C4%B1-ff0e655ad341
- author_url
- https://medium.com/@bekirahmetli
- status
- ok
- fetched_at
- 2026-08-08 15:17:19