Write a simple Lambda expression that consumes a Lambda Predicate expression

Certamente! Em Java, você pode usar expressões lambda para definir interfaces funcionais, como Predicate, que faz parte do pacote java.util.function. Aqui está um exemplo de uma expressão lambda que consome um Predicate:

import java.util.function.Predicate;

public class ExemploLambda {
    public static void main(String[] args) {
        // Expressão lambda como um Predicate
        Predicate<Integer> isEven = (numero) -> numero % 2 == 0;

        // Usando o Predicate em um exemplo simples
        System.out.println("O número 4 é par? " + isEven.test(4));  // Saída: true
        System.out.println("O número 7 é par? " + isEven.test(7));  // Saída: false
    }
}

Neste exemplo:

  • Predicate<Integer> é uma interface funcional que recebe um Integer como entrada e retorna um booleano.
  • (numero) -> numero % 2 == 0 é uma expressão lambda que representa um predicado que verifica se um número dado é par.

Você pode usar esse predicado em vários contextos onde precisa testar condições em números inteiros. O método test da interface Predicate avalia o predicado para um determinado argumento.

Sinta-se à vontade para modificar a expressão lambda e o predicado para se adequarem ao seu caso de uso específico. Expressões lambda em Java oferecem uma maneira concisa de expressar interfaces funcionais com métodos abstratos únicos (tipos SAM) e são comumente usadas com a API de Streams do Java ou em outros contextos de programação funcional.