基于前文,今天来讲讲 Lambda中的 Predicate接口。
Predicate
接口是判断是与否的接口,定义了一个名叫test
的抽象方法,它的入参是一个泛型T对象,并返回一个boolean类型。
1、定义实例
我们定义一个User实例,还是跟之前一样,用supplier接口定义
//声明一个实例
static Supplier<User>supplier =() -> new User("xiaoming","18") ;
2、写Predica接口
//判断实例对象age是否18岁
Predicate<User> age18 = (User user) ->"18".equals(user.getAge());
//判断实例对象age是否20岁
Predicate<User> age20 = (User user) ->"20".equals(user.getAge());
log.info("小明年龄是否是18岁:{}",age18.test(supplier.get()));
log.info("小明年龄是否是18岁:{}",age20.test(supplier.get()));
3、查看结果
结果如上,因为实例定义的age是18岁,所以输出结果18岁的结果是ture,20岁的结果是false。在生产当中,可以用此来判断实例字段