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

Java示例中的模式asPredicate()方法

java.util.functionIl pacchettoPredicateL'interfaccia può essere utilizzata come obiettivo dell'espressione lambda. Il metodo di test di questa interfaccia accetta un valore e lo verifica con il valore attuale dell'oggetto predicato. Se ci sono corrispondenze, questo metodo restituisce true, altrimenti restituisce false.

java.util.regex.PatternLa classeasPredicate()Il metodo restituisce un oggetto Predicate che può abbinare una stringa con un'espressione regolare, utilizzando la quale è possibile compilare l'oggetto Pattern corrente.

Esempio 1

import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
   public static void main( String args[] ) {
      //Lettura del valore della stringa
      Scanner sc = new Scanner(System.in);
      System.out.println("Inserisci stringa di input");
      String input = sc.nextLine();
      //Espressione regolare per trovare numeri
      String regex = "[t]";
      //Compilando l'espressione regolare
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //Convertendo l'espressione regolare in predicato
      Predicate<String> predicate = pattern.asPredicate();
      //Test della predicazione con la stringa di input
      boolean result = predicate.test(input);
      if(result) {
         System.out.println("Corrispondenza trovata");
      } else {
         System.out.print("Corrispondenza non trovata");
      }
   }
}

Risultato di output

Inserisci stringa di input
w3codebox
Numero di corrispondenze: 3

Esempio 2

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"));
      //Espressione regolare per trovare numeri
      String regex = "[J]";
      //Compilando l'espressione regolare
      Pattern pattern = Pattern.compile(regex);
      //Convertendo l'espressione regolare in predicato
      Predicate<String> predicate = pattern.asPredicate();
      list.forEach(n -> { if (predicate.test(n)) System.out.println("Match trovato " + n); });
   }
}

Risultato di output

Match trovato Java
Match trovato JavaFX
Match trovato JavaScript