Lambda简介

  • 一、Lambda表达式简介
  • 二、Lambda表达式的基础语法
  • 三、Lambda表达式语法精简
  • 四、Lambda表达式语法进阶之函数引用
  • 五、Lambda表达式之综合案例--排序Comparator
  • 六、Lambda表达式之综合案例--forEach
  • 七、Lambda表达式之综合案例--removeIf
  • 八、Lambda表达式之综合案例--线程实例化
  • 九、系统内置函数接口
  • 十、闭包

1. 什么是Lambda?

Lambda是Java 8中添加的新特性, 说白了, Lambda就是一个匿名函数.

2. 为什么使用Lambda?

使用Lambda表达式可以对一个接口进行非常简洁的实现.

3. Lambda对接口的要求?

虽然可以使用Lambda表达式对某些接口进行简单的实现, 但是并不是所有的接口都可以用Lambda表达式来实现. 要求接口中定义的必须要实现的抽象方法只能是一个.

接口 default 关键字

表示接口中使用该关键字的抽象方法必须被实现.  在被外部引用时,可以不需要实现,直接使用.

** @FunctionInterface **

修饰函数式接口的, 接口中的抽象方法只有一个.
 
public class Program {
    public static void main(String[] args) {
        //使用接口实现类
        MyCompare myCompare = new MyCompare();

        //使用匿名内部类
        Compare compare = new Compare(){
            @Override
            public int compare(int a, int b) {
                return a+b;
            }
        };

        //使用Lambda表达式来实现接口
        Compare compare1 = (a,b) -> a -b;
    }
}


class MyCompare implements Compare{

    @Override
    public int compare(int a, int b) {
        return a+b;
    }
}


@FunctionalInterface    //该接口只可以有1种实现方式
interface Compare{
    int compare(int a, int b);
}
 
 

猜你喜欢

转载自www.cnblogs.com/shansm/p/12547539.html
今日推荐