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

asPredicate() Methode im Java-Beispiel

java.util.functionPaketPredicateDas Interface kann als Ziel für Lambda-Ausdrücke verwendet werden. Der Test-Method der Schnittstelle akzeptiert einen Wert und überprüft ihn mit dem aktuellen Wert des Prädikats-Objekts. Gibt es eine Übereinstimmung, so wird dieser Methode true zurückgegeben, sonst false.

java.util.regex.PatternKlasseasPredicate()Die Methode gibt ein Predicate-Objekt zurück, das Zeichenketten mit regulären Ausdrücken vergleichen kann. Mit diesem regulären Ausdruck kann das aktuelle Pattern-Objekt kompiliert werden.

Beispiel1

import java.util.Scanner;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class AsPredicateExample {
   public static void main( String args[] ) {
      //Lesen eines Zeichenkettenwerts
      Scanner sc = new Scanner(System.in);
      System.out.println("Geben Sie die Eingabezeichenkette ein");
      String input = sc.nextLine();
      //正则表达式查找数字
      String regex = "[t]";
      //编译正则表达式
      Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
      //将正则表达式转换为谓词
      Predicate<String> predicate = pattern.asPredicate();
      //Prüfung des Prädikats mit der Eingabezeichenkette
      boolean result = predicate.test(input);
      if(result) {
         System.out.println("Übereinstimmung gefunden");
      } else {
         System.out.print("Keine Übereinstimmung gefunden");
      }
   }
}

输出结果

Geben Sie die Eingabezeichenkette ein
w3codebox
Anzahl der Spiele: 3

Beispiel2

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"));
      //正则表达式查找数字
      String regex = "[J]";
      //编译正则表达式
      Pattern pattern = Pattern.compile(regex);
      //将正则表达式转换为谓词
      Predicate<String> predicate = pattern.asPredicate();
      list.forEach(n -> { if (predicate.test(n)) System.out.println("匹配找到 "+n); });
   }
}

输出结果

匹配找到 Java
匹配找到 JavaFX
匹配找到 JavaScript