Java Predicate 是一个函数式接口,它接受一个参数并返回一个布尔值。Lambda 表达式是一种简洁的方式来表示匿名方法,可以用来实现函数式接口。因此,Lambda 表达式可以与 Predicate 结合使用,以便更简洁地编写代码。
以下是一个使用 Java Predicate 和 Lambda 表达式的示例:
import java.util.function.Predicate;
public class Main {
public static void main(String[] args) {
// 使用 Lambda 表达式创建一个 Predicate,用于检查字符串长度是否大于 5
Predicate<String> lengthPredicate = (String s) -> s.length() > 5;
// 使用 Predicate 测试字符串
String testString1 = "Hello";
String testString2 = "World!";
System.out.println("Is '" + testString1 + "' longer than 5 characters? " + lengthPredicate.test(testString1));
System.out.println("Is '" + testString2 + "' longer than 5 characters? " + lengthPredicate.test(testString2));
// 使用 Predicate 组合
Predicate<String> startsWithPredicate = (String s) -> s.startsWith("H");
Predicate<String> endsWithPredicate = (String s) -> s.endsWith("!");
Predicate<String> combinedPredicate = startsWithPredicate.and(endsWithPredicate);
System.out.println("Does '" + testString1 + "' start with 'H' and end with '!'? " + combinedPredicate.test(testString1));
System.out.println("Does '" + testString2 + "' start with 'H' and end with '!'? " + combinedPredicate.test(testString2));
}
}
在这个示例中,我们首先创建了一个 Predicate,用于检查字符串长度是否大于 5。然后,我们使用这个 Predicate 测试了两个字符串。接下来,我们创建了两个额外的 Predicate,一个用于检查字符串是否以 “H” 开头,另一个用于检查字符串是否以 “!” 结尾。最后,我们使用 and() 方法将这两个 Predicate 组合成一个新的 Predicate,并测试了这两个字符串。
这种方式使得代码更简洁,易于阅读和维护。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。