Parametreli lambda
- Java kursu
- Orta seviye
- Ders 101/116
- 5 dk
(x) -> ... ile parametreli lambdayı öğrenirsin.
Parametreli lambda
Lambda parametre de alabilir: (String s) -> s.length(). Tür genellikle çıkarılır; (s) -> s.length() de geçerlidir. Tek parametrede parantez isteğe bağlı: s -> s.length().
Birden fazla parametre virgülle ayrılır: (a, b) -> a + b. Gövde tek ifade ise return gerekmez; Java sonucu otomatik döndürür. Blok gövde yazılırsa return şarttır: (a, b) -> { return a + b; }.
Bloklambda ve return
Lambda gövdesi birden çok deyim içerecekse süslü parantezle blok yazılır. Blok içinde return ifadesi sonucu döndürür. Örnek: (int a, int b) -> { int sum = a + b; return sum * 2; }.
Blok gövde tek satırlı olsa bile return şarttır: (a, b) -> { return a + b; }. Bu, expression gövdeden farklıdır; expression gövdede return yazılmaz. Yanlışlıkla iki stili karıştırmak derleme hatası verir.
Uygulama İki sayı toplayan lambda
java.util.function.BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b; tanımla. int result = add.apply(3, 4); ile çağr. System.out.println(result); ile sonucu yazdır.
Başlangıç kodu
import java.util.function.BiFunction;
public class Main {
public static void main(String[] args) {
// BiFunction<Integer, Integer, Integer> lambda tanimla, apply ile cagir, yazdir
}
}Örnek çözüm
import java.util.function.BiFunction;
public class Main {
public static void main(String[] args) {
BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;
int result = add.apply(3, 4);
System.out.println(result);
}
}Beklenen çıktı
7
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Tek parametre lambdasını tamamla
java.util.function.Function<String, Integer> len = ____ -> s.length();
java.util.function.Function<String, Integer> len = s -> s.length();
Açıklama: Tek parametrede parantez isteğe bağlıdır.
2 (a, b) -> a + b ne döndürür?
- Bir Runnable örneği
- Hata fırlatır
- a ve b'nin toplamı Doğru cevap
- a ve b'yi yazdırır
Açıklama: Expression gövde sonucu otomatik döndürür; toplam geri verilir.
3 Lambda gövde türlerini eşleştir
| Kavram | Anlamı |
|---|---|
() -> ... |
Parametresiz |
s -> ... |
Tek parametre |
(a, b) -> ... |
İki parametre |
{ return ...; } |
Blok gövde |