常用的函数式接口_Predicate接口和常用的函数式借楼_Predicate_默认方法and
2022/7/20 23:25:04
本文主要是介绍常用的函数式接口_Predicate接口和常用的函数式借楼_Predicate_默认方法and,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * java.util.function.Predicate<T>接口 * 作用:对某种数据类型的数据进行判断,结果返回一个boolean值 * * Predicate接口中包含一个抽象方法: * boolean test(T t):用来对指定数据类型数据进行判断的方法 * 结果: * 符合条件,返回true * 不符合条件,返回false */ public class PredicateStudy01 { /** * 定义一个方法 * 参数传递一个String类型的字符串 * 传递一个Predicate接口,泛型使用String * 使用Predicate中的方法test对字符串进行判断,并把判断的结果返回 */ public static boolean checkString(String s, Predicate<String> predicate) { boolean test = predicate.test(s); return test; } public static void main(String[] args) { //定义一个字符串 String s = "abcdef"; //调用checkString方法对字符串进行校验,参数传递字符串和Lambda表达式 boolean b = checkString(s, str -> { //对参数传递字符串进行判断,判断字符串的长度是否大于5,,并把判断的结果返回 return str.length() > 5; }); System.out.println(b); } }
常用的函数式借楼_Predicate_默认方法and
package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * 逻辑表达式:可以连接多个判断的条件 * &&:与运算符,有false则false * ||:或运算符,有true则true * !:非(取反)运算符,非真则假,非假则真 * * 需求:判断一个字符串,有两个判断条件 * 1.判断字符串的长度是否大于5 * 2.判断字符串中是否包含a * 两个条件必须同时满足,我们就可以使用&&运算符链接两个条件 * * Predicate接口中有一个方法and,表示并且关系,也可以用于连续两个判断条件 * default Predicate<T> and(Predicate<? super T> other){ * Objects.requireNonNull(other); * return (t) -> this.test(t) && other.test(t); * } * 方法内部两个判断条件,也是使用&&连接起来的 */ public class PredicateAndStudy { /** * 定义一个方法,方法的参数,传递一个字符串 * 传递两个Predicate接口 * 一个用于判断字符串的长度是否大于5 * 一个用于判断字符串中是否包含a * 两个条件必须同时满足 */ public static boolean checkString(String s, Predicate<String> pre1, Predicate<String> pre2) { //return pre1.test(s) && pre2.test(s); return pre1.and(pre2).test(s); } public static void main(String[] args) { //定义一个字符串 String s = "abcdef"; //调用checkString方法,参数列表传递字符串和两个Predicate接口 boolean b = checkString(s, message -> { return message.length() > 5; }, message -> { return message.contains("a"); }); System.out.println(b); } }
这篇关于常用的函数式接口_Predicate接口和常用的函数式借楼_Predicate_默认方法and的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26小白家庭 nas 搭建方案-icode9专业技术文章分享
- 2024-06-23AI大模型企业应用实战(14)-langchain的Embedding
- 2024-06-23AI大模型企业应用实战(15)-langchain核心组件
- 2024-06-23AI大模型企业应用实战(16)-langchain核心组件
- 2024-06-23AI 大模型企业应用实战(06)-初识LangChain
- 2024-06-19EntBot.ai: AI Website Chatbot for Product Guides and Development Doc
- 2024-06-17zero-shot-learning-definition-examples-comparison
- 2024-06-06Package Easy(基于 NSIS 的打包exe安装包工具)使用方法-icode9专业技术文章分享
- 2024-06-06基于 casdoor 的 ELK 开源登录认证解决方案: elk-auth-casdoor-icode9专业技术文章分享
- 2024-05-29Elasticsearch慢查询日志配置