-
Os exemplos anteriores usaram interfaces funcionais definidas manualmente para ilustrar os conceitos básicos.
-
No entanto, o JDK 8 introduziu o pacote java.util.function, que fornece interfaces funcionais predefinidas para facilitar o uso.
Pacote java.util.function
-
Oferece diversas interfaces funcionais prontas para uso.
-
Reduz a necessidade de criar interfaces personalizadas.
Benefícios
-
Simplifica o desenvolvimento.
-
Padroniza o uso de interfaces funcionais em projetos.
-
Facilita a integração com APIs modernas do Java.
Uso da Interface Predicate
-
Define um método abstrato chamado test(T val).
-
Retorna true se o valor atender a uma condição ou restrição específica.
Exemplo de Uso
-
Implementa uma expressão lambda para verificar se um número é par.
-
A expressão lambda é atribuída a um objeto do tipo Predicate.
Funcionamento do Método test
-
Avalia o valor fornecido como argumento.
-
Retorna true se o número for par, caso contrário, retorna false.
Benefício
- Permite usar condições dinâmicas de forma simples e reutilizável em expressões lambda.
// Usa a interface funcional interna Predicate.
// Importa a interface Predicate.
import java.util.function.Predicate;
class UsePredicateInterface {
public static void main(String args[])
{
// Esta expressão lambda usa Predicate<Integer> para
// determinar se um número é par.
Predicate<Integer> isEven = (n) -> (n %2) == 0;
if(isEven.test(4)) System.out.println("4 is even");
if(!isEven.test(5)) System.out.println("5 is odd");
}
}
暂无评论内容