From 1a273529c9c7cbf5f735631e4a2182995993e577 Mon Sep 17 00:00:00 2001 From: xuxin <840198532@qq.com> Date: Sat, 14 Mar 2026 11:21:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=9B=E9=98=B6day06-Predicate=E7=9A=84or,ne?= =?UTF-8?q?gate=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inmind/functional_interface02/Demo10.java | 31 +++++++++++++++++++ .../inmind/functional_interface02/Demo11.java | 27 ++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 javaSE-day07/src/com/inmind/functional_interface02/Demo10.java create mode 100644 javaSE-day07/src/com/inmind/functional_interface02/Demo11.java diff --git a/javaSE-day07/src/com/inmind/functional_interface02/Demo10.java b/javaSE-day07/src/com/inmind/functional_interface02/Demo10.java new file mode 100644 index 0000000..52e1f40 --- /dev/null +++ b/javaSE-day07/src/com/inmind/functional_interface02/Demo10.java @@ -0,0 +1,31 @@ +package com.inmind.functional_interface02; + +import java.util.function.Predicate;/* +Predicate的or方法 + +需求:对一个字符串,使用2个predicate,判断它是否以h开头或者它的长度是否大于3 + +boolean test(T) + */ +public class Demo10 { + public static void main(String[] args) { + method( s-> s.startsWith("h"), + (String s)->{return s.length() >3;}, + "el"); + + } + + //定义一个方法,接收2个判断条件predicate,1个要判断的字符串,没有返回值 + public static void method(Predicate predicate1, Predicate predicate2, String str) { + /*boolean result1 = predicate1.test(str); + boolean result2 = predicate2.test(str); + boolean result = result1||result2;*/ + +// boolean result = predicate1.test(str)||predicate2.test(str); + Predicate newPredicate = predicate1.or(predicate2); + boolean result = newPredicate.test(str); + + System.out.println("最终结果:"+result); + } + +} \ No newline at end of file diff --git a/javaSE-day07/src/com/inmind/functional_interface02/Demo11.java b/javaSE-day07/src/com/inmind/functional_interface02/Demo11.java new file mode 100644 index 0000000..ee8396e --- /dev/null +++ b/javaSE-day07/src/com/inmind/functional_interface02/Demo11.java @@ -0,0 +1,27 @@ +package com.inmind.functional_interface02; + +import java.util.function.Predicate; + +/* +Predicate的negate方法 + +需求:对一个字符串,使用1个predicate,判断它是否以h开头,结果取反 + +boolean test(T) + */ + +public class Demo11 { + public static void main(String[] args) { + method( s-> s.startsWith("h"), + "el"); + + } + + //定义一个方法,接收2个判断条件predicate,1个要判断的字符串,没有返回值 + public static void method(Predicate predicate1, String str) { + + boolean result = predicate1.negate().test(str); + System.out.println("最终结果:"+result); + } + +} \ No newline at end of file