Lambda表达式

1.概述

        Lambda表达式是jdk1.8的新特性之一,他可以极大程度简化代码,减少代码量,常用于java中接口式匿名内部类。Lambda允许把函数作为一个方法的参数(函数作为参数传递到方法中),或者把代码看成数据。

2.定义

        只有一个方法的匿名内部函数是函数式接口,它可以被隐式转换成Lambda表达式。

        只有一个抽象方法(Object类中方法除外)的接口式函数式接口。

3.实质

        其实质就是匿名内部类(只有一个方法接口的匿名函数)。即满足函数式接口的接口。

        函数式接口的注解为:@FunctionalInterface(标注在类名上一行),当此接口不是函数式接口式,会报错。

4.常用的函数式接口

        Supplier接口:代表一个输出。

        Consumer接口:代表一个输入

        BiConsumer接口:代表二个输入

        Function接口:代表一个输入,一个输出。(一般输入输出类型不同)

        Function<Integer, Integer> function = x -> {
            int count = 0;
            for (int i = 0; i < x; i++) {
                count += i;
            }
            return count;
        };
        System.out.println(function.apply(10));

        BiFunction接口:代表二个输入,一个输出。(一般输入输出类型不同)

5.使用:() -> {}

posted @ 2018-08-16 20:13  小情绪Ango  阅读(105)  评论(0编辑  收藏  举报