Sobes.tech
Middle
153

რა იცით Java 8 და უფრო ახალი ვერსიების ფუნქციონალურ ინტერფეისებზე?

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

sobes.tech AI

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

java.util.function პაკეტში ჩაშენებული ფუნქციონალური ინტერფეისების მაგალითები:

  • Predicate<T>: იღებს T ტიპის არგუმენტს და აბრუნებს ბულეურ მნიშვნელობას.
    // public boolean test(T t);
    
  • Consumer<T>: იღებს T ტიპის არგუმენტს და არაფერს აბრუნებს. ახორციელებს მოქმედებას არგუმენტზე.
    // public void accept(T t);
    
  • Supplier<T>: არ იღებს არგუმენტებს და აბრუნებს T ტიპის მნიშვნელობას.
    // public T get();
    
  • Function<T, R>: იღებს T ტიპის არგუმენტს და აბრუნებს R ტიპის მნიშვნელობას.
    // public R apply(T t);
    

@FunctionalInterface ანოტაცია ოპციონალურია, მაგრამ რეკომენდებულია კომპილატორის მიერ შემოწმებისთვის და სისუფთავისთვის.

@FunctionalInterface
interface MyFunction {
    String process(String input);
    
    default void doNothing() {
        // დეფოლტ მეთოდი
    }
}