1. 四大基本函数式接口
Predicate 判定型接口
//是否相等
Predicate<Object> equal = Predicate.isEqual("");
Predicate<String> predicate = str -> str.equals("7");
//进行 非操作 !
Predicate<String> negate = predicate.negate();
//进行 与操作&& 先判断当前的 再调用之后的
Predicate<String> and = predicate.and(num -> num.equals("6"));
//进行"||"操作,或操作
Predicate<String> or = predicate.or(num -> num.equals("5"));
//是否满足要求
predicate.test()
Function 函数型接口
//返回一个输出跟输入一样的对象
Function.identity();
Function<Integer, Integer> function = i -> i * 20;
//将该函数应用到给定的参数 输入函数的参数 输出函数的结果
System.out.println(function.apply(8));
//先调用当前function函数的apply方法,将结果作为输入参数传递给andThen函数调用apply()
Function<Integer, Integer> andThen = a-> a - 10;
System.out.println(function.andThen(andThen ).apply(2));
//首先执行compose function的apply方法, 将它的返回作为输入参数再应用当前的function
Function<Integer, Integer> compose = a -> a - 10;
System.out.println(function.compose(compose).apply(14));
Consumer 消费型接口 只有输入,没有返回值
Consumer consumer = str-> System.out.println(str+"11111");
//给定参数执行此操作
consumer.accept("消费型接口");
System.out.println(consumer);
//andThen 先输出consumer 然后输出andThen 即:好奇 好奇猫
getStr("好奇", s -> System.out.println(String.valueOf(s)),
s-> System.out.println(s+"猫"));
public static void getStr(String str, Consumer consumer ,Consumer andThen) {
consumer.andThen(andThen).accept(str);
}
Supplier 供给型接口 没有参数,只有返回值
Supplier<String> supplier = ()-> "今天天气真好";
//get 取值
System.out.println(supplier.get());
2.BiPredicate接口
BiPredicate接口同基本函数式接口Predicate 相似
接受两个变量返回一个Boolean类型的值
//判断时间端是否在指定时间内
LocalDateTime startTi = Instant.ofEpochMilli(1661930743330L).atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime endTi = Instant.ofEpochMilli(1662999957233L).atZone(ZoneId.systemDefault()).toLocalDateTime();
LocalDateTime time=LocalDateTime.now();
BiPredicate<LocalDateTime,LocalDateTime > biPredicate = (startTime,endTime)->
time.isAfter(startTime) && time.isBefore(endTime);
if (biPredicate.test(startTi,endTi)){
System.out.println("成立");
}else {
System.out.println("时间段不在指定时间内");
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/260329.html