package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * java.util.function.Predicate<T>接口 * 作用:对某种数据类型的数据进行判断,结果返回一个boolean值 * * Predicate接口中包含一个抽象方法: * boolean test(T t):用来对指定数据类型数据进行判断的方法 * 结果: * 符合条件,返回true * 不符合条件,返回fals…
常用的函数式接口_Prodicate接口_默认方法or&negate OR package com.yang.Test.PredicateStudy; import java.util.function.Predicate; /** * 需求:判断一个字符串,有两个判断条件 * 1.判断字符串的长度是否大于5 * 2.判断字符串中是否包含a * 满足一个条件即可,我们就可以使用||运算符链接两个条件 * * Predicate接口中有一个方法or,表示或者关系,也可以用于连续两个判断条件 * d…
默认方法:and 既然是条件判断,就会存在与.或.非三种常见的逻辑关系.其中将两个Preadicate条件使用"与"逻辑连接起来实现"并且"的效果时,可以使用default方法and .其JDK源码为: default Predicate<T> and(Predicate<? super T> other) { Objects.requireNonNull(other); return (t) ‐> test(t) &&…
Java 8 API提供了很多全新的函数式接口来让工作更加方便,有一些接口是来自Google Guava库里的,即便你对这些很熟悉了,还是有必要看看这些是如何扩展到lambda上使用的. 一.Optional接口 1.null 带来的种种问题 1).它是错误之源:NullPointException 是目前Java程序开发中最典型的异常: 2).它会使你的代码膨胀:它是让你的代码充斥着深度嵌套的null检查,代码的可读性槽糕透顶. 3).它自身是毫无意义的.null自身没有任何的意义,尤其是,它…
在Java SE 8之前,interface只是事物的抽象,用来定义统一的抽象事物和描述事物的抽象行为和属性. 但是在Java SE 8中,增加了可以在interface中增加默认实现的行为和事物的静态行为. 一.为什么? java迭代了如此多的版本且主要采用的都是演化的思想而非重构(为了保证与历史的兼容性). 这样就容易出现很多比较难以处理的问题,接口在发布之后就已经被定型,除非我们能够一次性更新所有该接口的实现.比如某个历史接口有很多实现,需要在历史接口中增加一个行为,那么久需要在它的所有实…
Java中的集合(二)单列集合顶层接口------Collection接口 Collection是一个高度封装的集合接口,继承自Iterable接口,它提供了所有集合要实现的默认方法.由于Iterable封装了Iterator迭代器,因此Collection可以使用Iterator迭代器. Collection用于表示一组单值对象的集合,这些对象也称为元素. Collection接口定义了一系列抽象方法,规范了对单值类型的集合的操作标准. 一.Collection子接口或子类 Collectio…
Java常用函数式接口--Consumer接口使用案例…
Java常用函数式接口--Predicate接口使用案例 该方法可以使用and来优化: 调用:…
常用的函数式接口Function接口 package com.yang.Test.FunctionStudy; import java.util.function.Function; /** * java.util.function.Function<T,R>接口用来根据一个类型的数据得到另一个类型的数据, * 前者称为前置条件,后者称为后者条件 * Function接口中最主要的抽象方法为:R apply(T t),根据类型T的参数获取类型R的结果. * 使用场景例如:将String类型转换…
Consumer接口 java,util.function.Consumer接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定 抽象方法:accept Consumer接口中包含抽象方法void accept(T t),意为消费一个执行的数据. 使用: package com.yang.Test.ConsumerStudy; import java.util.function.Consumer; /** * java.util.function.Co…