ภาคแสดง อินเทอร์เฟซของ java.util.function แพ็คเกจสามารถใช้เป็นเป้าหมายสำหรับนิพจน์แลมบ์ดา วิธีการทดสอบของอินเทอร์เฟซนี้ยอมรับค่าโฆษณาตรวจสอบด้วยค่าปัจจุบันของวัตถุเพรดิเคต เมธอดนี้คืนค่า true ในกรณีที่มีการจับคู่ มิฉะนั้นจะคืนค่าเป็น false
asPredicate() วิธีการของ java.util.regex.Pattern class ส่งคืนวัตถุ Predicate ซึ่งสามารถจับคู่สตริงกับนิพจน์ทั่วไปโดยใช้วัตถุ Pattern ปัจจุบันที่คอมไพล์แล้ว
ตัวอย่างที่ 1
import java.util.Scanner; import java.util.function.Predicate; import java.util.regex.Pattern; public class AsPredicateExample { public static void main( String args[] ) { //Reading string value Scanner sc = new Scanner(System.in); System.out.println("Enter input string"); String input = sc.nextLine(); //Regular expression to find digits String regex = "[t]"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE); //Converting the regular expression to predicate Predicate<String> predicate = pattern.asPredicate(); //Testing the predicate with the input string boolean result = predicate.test(input); if(result) { System.out.println("Match found"); } else { System.out.print("Match not found"); } } }
ผลลัพธ์
Enter input string Tutorialspoint Number of matches: 3
ตัวอย่างที่ 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")); //Regular expression to find digits String regex = "[J]"; //Compiling the regular expression Pattern pattern = Pattern.compile(regex); //Converting the regular expression to predicate Predicate<String> predicate = pattern.asPredicate(); list.forEach(n -> { if (predicate.test(n)) System.out.println("Match found "+n); }); } }
ผลลัพธ์
Match found Java Match found JavaFX Match found JavaScript