← Back to list

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”…

Bekir Ahmetli · 2025-11-11 15:41 · 1 claps · 2.2 min read
#java #nullpointerexception #java-optional
Open on Medium ↗

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!

  1. 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