Consumer<T>
- Java kursu
- İleri seviye
- Ders 15/82
- 5 dk
Consumer<T> ile tüketici fonksiyonunu öğrenirsin.
Consumer<T> arayüzü
Consumer<T>, bir T değeri alıp hiçbir şey döndürmeyen (void) bir eylem temsil eder. Tek soyut yöntemi accept'tir. Yan etkisi olan işlemler için uygundur.
Örnek: Consumer<String> printer = s -> System.out.println(s);. Sonra printer.accept("Merhaba") çağrısı ekrana Merhaba yazar. Consumer, değer tüketen kodları değişken gibi taşımak için kullanılır; örneğin forEach'e argüman olarak.
Consumer'ları andThen ile zincirleme
İki Consumer'ı peş peşe çalıştırmak için andThen kullanılır. İlk Consumer değeri tüketir; sonra ikincisi aynı değeri alır. Bu, birden çok eylemi tek akışta yapmak için kullanışlıdır.
Örnek: printer.andThen(logger).accept("veri"). Önce ekrana yazdırılır, sonra kayıt tutulur. Her iki Consumer da aynı değeri alır; sıralı çalışırlar. Bu, yan etkileri düzenli bir biçimde birleştirmenin temiz yoludur.
Uygulama Consumer ile yazdır
Bir Consumer<String> tanımla; s -> System.out.println("Yazılan: " + s) lambdasını kullansın. Sonra accept("Merhaba") çağrısıyla değeri yazdır.
Başlangıç kodu
import java.util.function.Consumer;
// Consumer ile yazdırma işlevi tanımla
// accept çağrısıyla değeri yazdır
// Çıktı: Yazılan: MerhabaÖrnek çözüm
import java.util.function.Consumer;
public class ConsumerExample {
public static void main(String[] args) {
Consumer<String> printer = s -> System.out.println("Yazılan: " + s);
printer.accept("Merhaba");
}
}Beklenen çıktı
Yazılan: Merhaba
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Consumer<T> arayüzünün çağrı yöntemi hangisidir?
- apply
- test
- accept Doğru cevap
- get
Açıklama: accept, Consumer'ın çağrı yöntemidir.
2 Consumer çağrısını tamamla
Consumer<String> printer = s -> System.out.println(s);
printer.____("Merhaba");
Consumer<String> printer = s -> System.out.println(s);
printer.accept("Merhaba");
Açıklama: accept, Consumer'ın çağrı yöntemidir.
3 Consumer kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
Consumer<T> |
T alır void döndürür |
accept |
Çağrı yöntemi |
andThen |
Sonra çağır |
BiConsumer<T,U> |
İki değer alır |