From b349f046e89a500f2fb7e39546826fef666ceaf3 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 8 Aug 2026 14:28:42 +0800 Subject: [PATCH] =?UTF-8?q?s-day07-=20Predicate=E7=9A=84and-or-negate?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=BB=8B=E7=BB=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/funcitonal_predicate05/Demo10.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 s-day07/src/com/inmind/funcitonal_predicate05/Demo10.java diff --git a/s-day07/src/com/inmind/funcitonal_predicate05/Demo10.java b/s-day07/src/com/inmind/funcitonal_predicate05/Demo10.java new file mode 100644 index 0000000..86bf2da --- /dev/null +++ b/s-day07/src/com/inmind/funcitonal_predicate05/Demo10.java @@ -0,0 +1,44 @@ +package com.inmind.funcitonal_predicate05; + +import java.util.function.Predicate; + +/* + 2.Predicate里面的and方法 + + 需求:对一个字符串,使用2个predicate,判断它是否以h开头,它的长度是否大于3 + 分析: + 1.一个predicate要对字符串进行判断是否以h开头 + 2.另一个predicate要对字符串进行判断它的长度是否大于3 + */ +public class Demo10 { + public static void main(String[] args) { + method1( + s->s.startsWith("h"), + s->s.length()>3, + "hello java" + ); + } + + public static void method1(Predicate predicate1, Predicate predicate2, String s) { + /*boolean result1 = predicate1.test(s); + boolean result2 = predicate2.test(s); + boolean result = result1 && result2;*/ + + boolean result = predicate1.and(predicate2).test(s); + System.out.println(result); + } + + //需求:对一个字符串,使用2个predicate,判断它是否以h开头或者它的长度是否大于3 + public static void method2(Predicate predicate1, Predicate predicate2, String s) { + /*boolean result1 = predicate1.test(s); + boolean result2 = predicate2.test(s); + boolean result = result1 || result2;*/ + + boolean result = predicate1.or(predicate2).test(s); + System.out.println(result); +// boolean value = predicate1.negate().test(s); + } + + + +}