Sobes.tech
Junior

Кои функционални интерфейси знаете?

sobes.tech AI

Отговор от AI

  • Predicate<T>: Приема аргумент от тип T и връща булева стойност. Често се използва за филтриране на елементи.
  • Consumer<T>: Приема аргумент от тип T и не връща нищо. Използва се за изпълнение на действия върху елементите.
  • Supplier<T>: Не приема аргументи и връща стойност от тип T. Използва се за генериране на стойности.
  • Function<T, R>: Приема аргумент от тип T и връща стойност от тип R. Използва се за преобразуване на стойности.
  • UnaryOperator<T>: Разширява Function<T, T>, приема аргумент от тип T и връща стойност от същия тип.
  • BinaryOperator<T>: Разширява BiFunction<T, T, T>, приема два аргумента от тип T и връща стойност от същия тип. Често се използва в операции за редукция.
  • BiPredicate<T, U>: Приема два аргумента от типове T и U, и връща булева стойност.
  • BiConsumer<T, U>: Приема два аргумента от типове T и U, и не връща нищо.
  • BiFunction<T, U, R>: Приема два аргумента от типове T и U, и връща стойност от тип R.

Освен това, съществуват специализирани функционални интерфейси за примитивни типове (IntPredicate, LongSupplier, DoubleConsumer и др.), за да се избегне автоматичното опаковане и разопаковане, както и интерфейси с връщащ тип void (Runnable).