English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método asPredicate() em exemplos de Java

java.util.functiondo pacotePredicateA interface pode ser usada como alvo de expressões lambda. O método de teste dessa interface aceita um valor e o verifica com o valor atual do objeto predicado. Se houver correspondência, o método retorna true, caso contrário, retorna false.

java.util.regex.Patternda classeasPredicate()O método retorna um objeto Predicate, que pode comparar uma string com uma expressão regular, usando a qual pode compilar o objeto Pattern atual.

Exemplo1

import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
   public static void main( String args[] ) {
      //Lendo valor de string
      Scanner sc = new Scanner(System.in);
      System.out.println("Insira a string de entrada");
      String input = sc.nextLine();
      //Expressão regular para encontrar dígitos
      String regex = "[t]";
      //Compilando a expressão regular
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //Convertendo a expressão regular para predicado
      Predicate<String> predicate = pattern.asPredicate();
      //Testando o predicado com a string de entrada
      boolean result = predicate.test(input);
      if(result) {
         System.out.println("Correspondência encontrada");
      } else {
         System.out.print("Correspondência não encontrada");
      }
   }
}

Resultados de saída

Insira a string de entrada
w3codebox
Número de correspondências: 3

Exemplo2

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
   public static void main( String args[] ) {
      ArrayList<String> list = new ArrayList<String>();
      list.addAll(Arrays.asList("Java", "JavaFX", "Hbase", "JavaScript"));
      //Expressão regular para encontrar dígitos
      String regex = "[J]";
      //Compilando a expressão regular
      Pattern pattern = Pattern.compile(regex);
      //Convertendo a expressão regular para predicado
      Predicate<String> predicate = pattern.asPredicate();
      list.forEach(n -> { if (predicate.test(n)) System.out.println("Match encontrado "+n); });
   }
}

Resultados de saída

Match encontrado Java
Match encontrado JavaFX
Match encontrado JavaScript