Sobes.tech
Junior

Que interfaces funcionais conhece?

sobes.tech IA

Resposta da IA

  • Predicate<T>: Aceita um argumento do tipo T e devolve um valor booleano. Frequentemente usado para filtrar elementos.
  • Consumer<T>: Aceita um argumento do tipo T e não devolve nada. Usado para realizar ações sobre os elementos.
  • Supplier<T>: Não aceita argumentos e devolve um valor do tipo T. Usado para gerar valores.
  • Function<T, R>: Aceita um argumento do tipo T e devolve um valor do tipo R. Usado para transformar valores.
  • UnaryOperator<T>: Estende Function<T, T>, aceita um argumento do tipo T e devolve um valor do mesmo tipo.
  • BinaryOperator<T>: Estende BiFunction<T, T, T>, aceita dois argumentos do tipo T e devolve um valor do mesmo tipo. Frequentemente usado em operações de redução.
  • BiPredicate<T, U>: Aceita dois argumentos de tipos T e U, e devolve um valor booleano.
  • BiConsumer<T, U>: Aceita dois argumentos de tipos T e U, e não devolve nada.
  • BiFunction<T, U, R>: Aceita dois argumentos de tipos T e U, e devolve um valor do tipo R.

Além disso, existem interfaces funcionais especializadas para tipos primitivos (IntPredicate, LongSupplier, DoubleConsumer, etc.) para evitar autoempaquetamento/desempaquetamento, bem como interfaces com retorno void (Runnable).