Java 8 | Consumer
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