首页 > 其他 > 详细

什么是函数式接口?自定义一个函数式接口

时间:2021-08-30 00:16:21      阅读:17      评论:0      收藏:0      [点我收藏+]

什么是函数式接口?自定义一个函数式接口

  • 1、函数式接口是有且只有一个抽象方法的接口

  • 2、Java中拥有大量函数式接口,如:java.lang.Runnable

  • 3、JDK8后提供了一系列新的函数式接口,位于java.util.function

技术分享图片

lambda语法格式:

  • (参数列表) -> 实现语句。

  • 参数列表:使用逗号分隔参数,参数类型可省略,单参数括号可省略。

  • 实现语句:单行直接写,多行用{}包裹。

  • 注意:lambda表达式只能实现有且只有一个抽象方法的接口,这种接口java称为“函数式接口”。

案例:
定义只有一个抽象方法的“函数式接口”

@FunctionalInterface
public interface MathOperation {
    float operator(int a, int b);
}

注解:@FunctionalInterface //通知编译器这是函数式接口,进行抽象方法检查

传统方式是要创建一个Addition类继承这个接口,然后再实现这个接口里的函数,在main函数中再实例化一个Addition对象,调用addition.operate(3,5);才能达到如下一样的目的。

class ILambdaTest {
    @Test
    void testLambdaOperator() {
        // 标准写法
        MathOperation add =  (a, b) -> {
            System.out.println("加法运算");
            return a + b;
        };
        // 简洁写法
        MathOperation subtruction = (a, b) -> a - b;

        System.out.println("add = " + add.operator(1,3));
        System.out.println("subtruction = " + subtruction.operator(1,3));
    }
}

什么是函数式接口?自定义一个函数式接口

原文:https://www.cnblogs.com/xmc000/p/15195720.html

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