首页 > 编程语言 > 详细

Java8(二) 函数式接口

时间:2020-07-14 01:19:09      阅读:72      评论:0      收藏:0      [点我收藏+]

函数式接口

函数式接口指的是:有且仅有一个抽象方法,但是可以有多个非抽象方法的接口(接口默认方法)。

1 @FunctionalInterface注解

该注解标记一个接口为函数式接口。

对于标注了这个注解的接口,编译器会强制检查该接口是否有且仅有一个抽象方法。否则会报错。

即使不使用该注解,只要满足函数式接口的定义,就是一个函数式接口

2 与Lambda表达式结合

函数式接口可以被隐式转换为Lambda表达式。

如果有一个方法使用函数式接口作为参数,那么就可以使用Lambda进行传参。

比如线程中的Runable接口:

//匿名内部类写法
new Thread(new Runnable() {
    @Override
    public void run() {
        System.out.println("内部类写法");
    }
}).start();

//lambda 写法
new Thread(() -> System.out.println("lambda写法")).start();  

3 常用的函数式接口

JDK 1.8 之前已有的函数式接口
java.lang.Runnable

java.util.concurrent.Callable

java.util.Comparator
JDK 1.8 新增加的函数接口
//java.util.function包下
Consumer<T>

Function<T,R>
    
Predicate<T>
    
//。。。

Java8(二) 函数式接口

原文:https://www.cnblogs.com/lyldelove/p/13296481.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!