Junior
რა არის ლამბდა გამოთქმები Java-ში?
sobes.tech AI
პასუხი AI-სგან
Java-ში lambda გამოთქმა არის ანონიმური (სახელის გარეშე) ფუნქცია, რომელიც ახორციელებს ფუნქციურ ინტერფეისს.
ძირითადი მახასიათებლები:
- არ აქვს სახელი.
- შეიძლება ჰქონდეს პარამეტრები.
- სხეული შეიძლება შედგებოდეს ერთი გამოხატულების ან ოპერაციების ბლოკისგან.
- დაბრუნების ტიპი არ არის მითითებული (ავტომატურად გამოითვლება).
- აუცილებელია ფუნქციონალური პროგრამირების და ნაკადებთან (Streams API) მუშაობისთვის.
სინტაქსი:
// პარამეტრებით გარეშე
() -> { // სხეული }
// ერთი პარამეტრით (ტიპი შეიძლება გამოტოვებული)
param -> გამოხატულება
// რამდენიმე პარამეტრით (ტიპი შეიძლება გამოტოვებული, საჭიროა კოვზები)
(param1, param2) -> { // სხეული }
გამოყენების მაგალითი:
// ფუნქციონალური ინტერფეისი (შენახული)
import java.util.function.Consumer;
// ლამბდას გამოყენებით განხორციელება
Consumer<String> პრინტერი = s -> System.out.println(s);
პრინტერი.accept("გამარჯობა მსოფლიო!");
// გამოყენება მეთოდში, რომელიც იღებს ფუნქციონალურ ინტერფეისს
import java.util.Arrays;
import java.util.List;
List<Integer> რიცხვები = Arrays.asList(1, 2, 3, 4, 5);
რიცხვები.forEach(n -> System.out.println(n)); // forEach იღებს Consumer-ს
უპირატესობები:
- უფრო მოკლე კოდი.
- გაუმჯობესებული წაკითხვადობა (სადაც მარტივია).
- ფუნქციონალური პროგრამირების გამოყენების შესაძლებლობა.
- გამარტივება კოლექციებთან და მრავალთრედინგთან მუშაობაში.
შეზღუდვები:
- შიგნიდან გაერთიანებული ან გრძელი ლამბდები შეიძლება იყოს გაგება რთული.
- სტატუსი არ აქვთ (მოდიან არ შეიძლება ჰქონდეთ ინстанციის ველები).