Twitter Youtube Github
Burak Kutbay'ın Kişisel Blog'u |

Type and hit Enter to search

  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale
Java SE

Java 8 Optional Class Nedir? Kullanım Örneği

Paylaş

Java 8 ile gelen yeniliklere bakmaya devam ediyorum. Bu yazıda Optional Class kavramından bahsederek örneklendirmeye çalışacağım.

İçindekiler

  • Optional Kullanımı
  • Optional Özelliği Olan Bir Nesne Oluşturmak
  • Optional Nesnenin Değerlerini Alabilmek
  • Optional Nesne’yi Kontrol Edebilmek 
  • Filtre Kullanımı

Optional Class kullanımı oldukça kolay ve kullanışlı bir yöntemdir. Yazılımda oluşan NullPointerException hatalarını en aza indirmeyi sağlamayı amaçlayan bir yapıdır. Class’larımızın null olmasının kontrolünü kolaylaştıran Optional Class null olamaz mı? Elbette olabilir ancak Optional Class null değer alırsa o classın yönetimi de kolaylaşmaktadır.

Optional Clas sayesinde;

  • Null kontrolü yapılmasına gerek kalmaz.
  • Kolay kod yazımı.
  • Kod okunabilirliğinin kolaylaşması.

Optional Kullanımı


Optinal Class’ı kullanarak bir nesne yaratmanın 3 farklı çeşidi bulunmakta. Bu çeşitlilik Optional nesnemizin null olup olmayacağını tanımlarken belirlememizi sağlamakta.

ParametreAçıklama
emptyboş bir nesne oluşturur.
ofnull değer kesinlikle alamaz
ofNullable null değer alabilir

Optional Özelliği Olan Bir Nesne Oluşturmak


Boş bir nesne oluşturma işlemi;

Optional<Kullanici> kullanici= Optional.empty();

Null değer almasını kesinlikle istemeyeceğimiz nesne oluşturmak;

Optional<Kullanici> kullanici = Optional.of(kullanici);

Null değer alabilecek olan Optional nesnesi;

Optional<Kullanici> kullanici= Optional.ofNullable(kullanici);

olarak yapılmaktadır.


Optional Nesnenin Değerlerini Alabilmek


Optional bir nesnenin değerlerine ulaşmak için .get() yazarak ve ardından tekrar nokta koyarak ilgili değişkenine erişebilmeniz mümkün olmaktadır.

String ad=kullanici.get().ad;
String soyad=kullanici.get().soyad;

!Önemli not. get() özelliği Optional nesnemizin null olmadığı zamanlarda çalışır. Diğer hallerde hata fırlatır.


Optional Nesne’yi Kontrol Edebilmek 


Oluşturuğumuz nesnelerin içersinde hangi değerler olup olmadığını hala bilemeyebiliriz. Özellike null değer alabilen ofNullable özelliği almuş olan nesne için null kontrolü yapmak zorunlu olabilir. Optional nesne kullanıyorsak bu türe sahip nesnelerin kontrolünü sağlamak için özel parametreler kullanarak yapabilmekteyiz. Bu parametreler;

ParametreAçıklama
isPresent() null kontorülüdür. Boş ise false, Dolu ise true değerini döndürür.
orElse()kullanici.get().ad().orElse(“burak”) şeklinde bir şart ile true ya da false değer döndürerek gerekli nesneyi seçebilirsiniz
orElseGet()Nesne içerisinde eğer bir değer null ise varsaydığımız değeri göndeerebiliyoruz.
ifPresent()Eğer null değilse istediğimiz işlemleri ise bu parametre ile yapmaktayız.

Örnek:

public static void main(String[] args) {

        Optional<String> kullanici= Optional.of("Burak");
        Optional<String> kullanici2= Optional.empty();

        if (kullanici.isPresent()) {
            System.out.println("Değer bulunmakta");
        } else {
            System.out.println("Değer bulunamıyor.");
        }

        kullanici.ifPresent(g -> System.out.println("Kullanıcı Adı Var."));

    
        kullanici2.ifPresent(g -> System.out.println("Kullanıcı Adı Var."));

    }

Çıktı:

Değer bulunmakta.
Kullanıcı Adı Var.

Yukarıdaki tablodaki özellikleri kullanarak değerleri yönetebilmekteyiz.


Filtre Kullanımı


Optional nesnemizde de Java 8’de gelen filtreleme işlemi yapılabilmektedir.

Optional<Kullanici> kullanici= Optional.ofNullable(null);

 kullanici
    .filter(k -> k.yas() > 25)
    .ifPresent(System.out::println);

 

Tags:

java 8java 8 optional örnekjava 8 örnekNullPointerException örnekoptional NullPointerException

Paylaş

Diğer Yazılar

javb
Previous

Java 8 ile forEach() Kullanım Örneği

javb
Next

Java 8 Nedir? Java 8 Dersleri

Next
javb
06 Eylül 2018

Java 8 Nedir? Java 8 Dersleri

Previews
03 Eylül 2018

Java 8 ile forEach() Kullanım Örneği

javb

No Comment! Be the first one.

Bir cevap yazın Cevabı iptal et

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İlgini Çekebilir

Java 8 ile birlikte gelen Functional Interface özelliği Kullanım, Örnekler, Consumer, Predicate, Function, Supplier

Java Functional Interface Nedir?

javb

Java 8 Dersleri – StringJoiner Nedir? Uygulama Örneği

javb

Java 8 – Default Methods Nedir? Kullanım Örneği

javb

Java 8 Lambda Expressions Nedir? Lambda İfadeleri Kullanım Örnekleri

Burak Kutbay'ın Kişisel Blog'u |

© 2008 - ∞, Her hakkı saklıdır.

Link

  • Hakkımda
  • İletişim
  • Arşiv

Kategori

Cloud
Amazon Web Services
Vue.js
Gradle
Node.js
Android
Struts
Redis
Röportaj
Spring Data
Spring Cloud Stream
XCode
Debezium
Mikroservis Mimarisi
Video
Spring Native
iPhone Uygulama Geliştirme
Objective C
JPA
Spring Security
PostgreSQL
Apache Kafka
Git
Servlet
Yaptığım Projeler
Maven
Design Patterns
DevOps
Linux
RabbitMQ
PrimeFaces
JDBC
Spring Jdbc Template
Spring
Spring MVC
Manset
Google
Spring Cloud
OCA Java SE 8
Spring Core
Quarkus
Microsoft
Veritabanı
Tanıyalım
Java SE
Hibernate
Teknoloji
Okuduğum Kitaplar
Java Server Faces
Yazılım Mühendisliği
C Sharp
Spring Boot
Java
Günlüğüm
Java Server Page
Makale

Takip Et

Twitter Youtube Github
  • Eğitim
  • Quarkus
  • Spring Cloud
  • Spring Boot
  • Spring JDBC Template
  • Spring MVC
  • Spring Core
  • Spring Örnekleri
  • Hibernate
  • Java Server Pages
  • Java Server Faces
  • PrimeFaces
  • Servlet
  • JDBC
  • JSTL
  • Java 8
  • / Diğer
    • Ünlü Bilişimciler
    • C Sharp
    • Kütüphane
    • Makale