Sobes.tech
Junior

რა არის ლამბდა გამოთქმები Java-ში?

sobes.tech AI

პასუხი AI-სგან

Java-ში ლამბდა გამოხატულება არის ანონიმური ფუნქციების (სახელის გარეშე ფუნქციების) მოკლე გამოსახვა. ისინი გამოიყენება ფუნქციონალურ ინტერფეისების მაგალითების შექმნისთვის.

ძირითადი კომპონენტები:

  • პარამეტრების სია: () დახურვები შეიცავს პარამეტრების სიის. თუ პარამეტრები არ არის, გამოიყენება ცარიელი დახურვები.
  • სროლა ->: გამოყოფს პარამეტრების სიის ლამბდა სხეულისგან.
  • სხეული: შეიძლება იყოს ერთი გამოთქმა ან კოდის ბლოკი ფიგურული დახურვებით {}.

პარამეტრების გარეშე მაგალითი:

// ფუნქციონალური ინტერფეისი
@FunctionalInterface
interface Greeting {
    void sayHello();
}

// ლამბდა გამოხატულების გამოყენება
Greeting greeting = () -> System.out.println("Hello, World!");

პარამეტრებით მაგალითი:

// ფუნქციონალური ინტერფეისი
@FunctionalInterface
interface MathOperation {
    int operate(int a, int b);
}

// ლამბდა გამოხატულების გამოყენება
MathOperation addition = (a, b) -> a + b;
MathOperation subtraction = (a, b) -> {
    return a - b;
};

უპირატესობები:

  • სწრაფი: ამცირებს boilerplate კოდის მოცულობას.
  • სარგებელი: გამოიყენება ერთად Stream API-სთან კოლექციების დამუშავებისთვის.
  • ფუნქციონალური პროგრამირება: მხარს უჭერს ფუნქციონალურ პროგრამირების ელემენტებს Java-ში.

შეზღუდვები:

  • შეიძლება გამოყენებულ იქნას მხოლოდ ფუნქციონალურ ინტერფეისებთან (ერთი აბსტრაქტული მეთოდით ინტერფეისები).
  • არ შეიძლება ჰქონდეს სტატუსი (ანუ, არ შეუძლია შეცვალოს ცვლადები მის კონტექსტს გარეთ, თუ ეს ცვლადები აშკარად არ არის გამოყოფილი final ან effectively final სახით).

ლამბდა გამოხატულებები შემოვიდა Java 8-ში.