常用的函数式接口_Predicate接口_默认方法and
默认方法:and
既然是条件判断,就会存在与、或、非三种常见的逻辑关系。其中将两个Predicate 条件使用“与”逻辑连接起来实现“并且”的效果时,可以使用default方法and 。其JDK源码为:
default Predicate<T> and(Predicate<? super T> other) {Objects.requireNonNull(other);return (t) ‐> test(t) && other.test(t);
}
package com.learn.demo06.Predicate;import java.util.function.Predicate;/*逻辑表达式:可以连接多个判断的条件&&:与运算符,有false则false||:或运算符,有true则true!:非(取反)运算符,非真则假,非假则真需求:判断一个字符串,有两个判断的条件1.判断字符串的长度是否大于52.判断字符串中是否包含a两个条件必须同时满足,我们就可以使用&&运算符连接两个条件Predicate接口中有一个方法and,表示并且关系,也可以用于连接两个判断条件default Predicate<T> and(Predicate<? super T> other) {Objects.requireNonNull(other);return (t) -> this.test(t) && other.test(t);}方法内部的两个判断条件,也是使用&&运算符连接起来的*/
public class Demo02Predicate_and {/*定义一个方法,方法的参数,传递一个字符串传递两个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);//等价于return pre1.test(s) && pre2.test(s);}public static void main(String[] args) {//定义一个字符串String s = "abcdef";//调用checkString方法,参数传递字符串和两个Lambda表达式boolean b = checkString(s,(String str)->{//判断字符串的长度是否大于5return str.length()>5;},(String str)->{//判断字符串中是否包含areturn str.contains("a");});System.out.println(b);}
}
常用的函数式接口_Predicate接口_默认方法and相关推荐
- Java 8——接口中个的默认方法和静态方法
在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静 ...
- Java接口、implements关键字、接口中抽象方法,默认方法,静态方法,私有方法,常量、final关键字
接口: 接口是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量.构造方法和成员方法,那么 接口的内部主要就是封装了方法,包含抽象方法(JDK 7及以前),默认方法和静态方法(JD ...
- java8 默认方法_默认方法:Java 8的无名英雄
java8 默认方法 几周前,我写了一个博客,说开发人员学习新语言是因为它们很酷. 我仍然坚持这个主张,因为关于Java 8的事情真的很酷. 尽管毫无疑问,该节目的明星是添加了Lambdas和将函数提 ...
- gdb 扩展 默认参数_默认方法一种扩展旧代码的方法
gdb 扩展 默认参数 如您所知,Java的新版本已于2014年3月18日发布,我将介绍一系列文章来演示其新功能,也许在某些方面,我将谈论我的想法和批评. 我认为重要的第一个功能是"默认方法 ...
- 常用的函数式接口_Predicate接口_默认方法ornegate
默认方法:or 与and 的"与"类似,默认方法or 实现逻辑关系中的"或".JDK源码为: default Predicate<T> or(Pre ...
- 常用的函数式接口_Function接口_默认方法andThen
默认方法:andThen Function 接口中有一个默认的andThen 方法,用来进行组合操作.JDK源代码如: default <V> Function<T, V> a ...
- java8接口写静态方法_Java 8接口更改–静态方法,默认方法
java8接口写静态方法 Java 8 interface changes include static methods and default methods in interfaces. Prio ...
- 注解默认继承_默认方法和多重继承
注解默认继承 最近卢卡斯JOOQ埃德尔发布和文章有关嵌套类及其使用. 这是一个有趣的话题,他的文章一如既往地有趣并且值得一读. 只有一个简短的声明我无法同意,我们有一个简短的回复链,导致了默认方法,以 ...
- 常用的函数式接口_Predicate接口练习_集合信息筛选
练习:集合信息筛选 题目 数组当中有多条"姓名+性别"的信息如下,请通过Predicate 接口的拼装将符合要求的字符串筛选到集合ArrayList 中,需要同时满足两个条件: 1 ...
最新文章
- 中国科学:中科院遗传发育所揭示拟南芥二半萜对根系微生物组的调控机制
- tidb mysql5.7_MYSQL5.7实时同步数据到TiDB
- leetcode 797. All Paths From Source to Target | 797. 所有可能的路径(回溯法)
- 跟踪反应流–将Spring Cloud Sleuth与Boot 2结合使用
- ekf pose使用方法 ros_【百川小课堂】第13课—ROS学习(二)
- 【Vue】—解决页面图片加载抖动的问题
- Spark 基础 —— RDD(创建 RDD)的两种方式
- DB2with的定义与用法
- codeforces 486 E. LIS of Sequence(dp)
- 微型计算机控制技术第三版第四章课后答案,微型计算机控制技术第4章习题答案.doc...
- Java中日期格式化yyyyMMdd和YYYYMMdd的区别
- python_体脂率的计算
- D525安装黑群晖DSM6.1.7教程
- 写一本技术书能赚多少钱
- 网络负载均衡器(NLB)
- 苹果手机为什么Apple ID会被停用
- 华东师大二月月赛游记
- PI AAE (Advanced Adapter Engine) 介绍一
- USB转RS485代替PC/PPI通讯电缆
- 华为运营商级路由器配置示例 | 配置BGP方式VPLS示例