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

Método asPredicate() en ejemplos de Java

java.util.functionpaquetePredicateLa interfaz se puede usar como objetivo de expresiones lambda. El método de prueba de esta interfaz acepta un valor y lo verifica con el valor actual del objeto predicado. Si hay una coincidencia, este método devuelve true, de lo contrario devuelve false.

java.util.regex.PatternclaseasPredicate()El método devuelve un objeto Predicate que puede comparar una cadena con una expresión regular, utilizando la expresión regular para compilar el objeto Pattern actual.

Ejemplo1

import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
   public static void main( String args[] ) {
      //Leyendo valor de cadena
      Scanner sc = new Scanner(System.in);
      System.out.println("Ingrese la cadena de entrada");
      String input = sc.nextLine();
      //Expresión regular para encontrar dígitos
      String regex = "[t]";
      //Compilando la expresión regular
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //Convertiendo la expresión regular a predicado
      Predicate<String> predicate = pattern.asPredicate();
      //Probando el predicado con la cadena de entrada
      boolean result = predicate.test(input);
      if(result) {
         System.out.println("Coincidencia encontrada");
      } else {
         System.out.print("Coincidencia no encontrada");
      }
   }
}

Resultado de salida

Ingrese la cadena de entrada
w3codebox
Número de coincidencias: 3

Ejemplo2

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"));
      //Expresión regular para encontrar dígitos
      String regex = "[J]";
      //Compilando la expresión regular
      Pattern pattern = Pattern.compile(regex);
      //Convertiendo la expresión regular a predicado
      Predicate<String> predicate = pattern.asPredicate();
      list.forEach(n -> { if (predicate.test(n)) System.out.println("Encontrado coincidencia "+n); });
   }
}

Resultado de salida

Encontrado coincidencia Java
Encontrado coincidencia JavaFX
Encontrado coincidencia JavaScript