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