Java 8 | Consumer

Hasan Kadir Demircan
1 min readOct 9, 2020

--

Consumer hakkında bilmemiz gerekenler;

  • Java 8'de java.util.Function paketinde bulunan yerleşik bir işlevsel birimdir.
  • Bir nesnenin tüketilmesi(consume) gereken tüm bağlamlarda kullanılabilir. yani girdi olarak alınır ve herhangi bir sonuç döndürmeden nesne üzerinde bazı işlemler gerçekleştirebilir. (System.out.println, toUpperCase etc.)
  • Stream interface içerisinde bulunan System.out.println() consumer almaktadır. ( void forEach(Consumer<? super T> action); )
  • Functional interface olduğundan lambda (->) ifadesi ile kullanılabilir.
  • Consumer<T> yani T -> () şeklindedir. Lambda’ya dönüş değeri olmadan girdi olduğu anlamına gelmektedir.
  • accept() ve andThen() methodları bulunmaktadır.

Örnek kodları inceleyecek olursak;

Yukarıdaki örnekte,

  • 11. satırda consumer tanımladık ve girilen String değeri toUpperCase yaptık.
  • 12. satırda consumer’da bulunan accept() methodunu çağırarak işlemimizi gerçekleştirdik.

Başka bir örnek,

Yukarıdaki örnekte,

  • 8., 12., 16. satırlarda eğer bir işlem yapmak istersek nasıl yapılacağına dair örnekler vermiş olduk.
  • Consumer<Integer> şeklinde aynı bir kullanımı pek göremeyiz genelde 16. satırdaki gibi örnekler görebiliriz.
  • Eğer işlem yapmayacaksak System.out::println şeklinde kullanım yapabiliriz.

Github: Consumer

--

--

Hasan Kadir Demircan
Hasan Kadir Demircan

No responses yet