3.JDK1.8特性之函数式接口

1.什么是函数式接口

2.自定义函数式接口

3.Lambda表达式替代函数式接口做参数使用

4.Java内置四大核心函数接口

5.其他函数接口


1.什么是函数式接口

1.1 只包含一个抽象方法的接口,称为函数式接口。

1.2 你可以通过 Lambda 表达式来创建该接口的对象。(若 Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进行声明)。

1.3 我们可以在任意函数式接口上使用 @FunctionalInterface 注解,这样做可以检查它是否是一个函数式接口,同时 javadoc 也会包

含一条声明,说明这个接口是一个函数式接口。

2.自定义函数式接口

@FunctionalInterface

public interface MyFunctionInterface {

void play();

}

//泛型函数式接口

@FunctionalInterface

public interface HelloFunctionInterface {

T sayHello(T t);

}    

3.Lambda表达式替代函数式接口做参数使用

private static void doPlay(MyFunctionInterface myFunctionInterface){

       myFunctionInterface.play();

}

//lambda 表达式做参数;理解:这里相当于lambda表达式替换了了匿名内部类。

doPlay(()-> System.out.println("play football!"));

4.Java内置四大核心函数接口


函数式接口                         参数类型                返回类型                                               用途


Consumer消费型接口               T                      void                      对类型为T的对象应用操作,包含方法:void accept(T t);


Supplier供给型接口                  无                     T                           返回类型为T的对象,包含方法:T get();


Function函数型接口                  T                      R                          对类型为T的对象应用操作,并返回结果。结果是R类型的对象。包含方法:R apply(T t);


Predicate断定型接口                 T                     boolean                 确定类型为T的对象是否满足某约束,并返回boolean 值。包含方法boolean test(T t);


5.其他函数接口


寄语(想到什么就写什么):

1.关于选择:年轻无惧,勇敢选择,如果你感到不快乐,就跟随自己的心去做自己想做的事情。

2.关于苦痛:人生苦短,痛苦不可避免,但是可以选择痛苦的方式。

3.关于孤独:唯孤独永恒,学会和自己相处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容