Java 8 Lambda表达式

Java 8中Lambda表达式就是一个函数接口,也就是只有一个抽象方法的接口。ide

Java中,传递一个行为是经过传递一个表明某种行为的对象来实现,好比,须要给某个按钮注册一个事件监听:函数

button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        System.out.println("button clicked");
    }
});

经过匿名内部类传递了一个actionPerformed的行为。不过,这种传递行为的方式不得不加上一些冗繁的样板代码,从而显得不够简便。spa

在Java 8中能够这样写:code

button.addActionListener(event -> System.out.println("button clicked"));

其实,就是开头说的那样,Lamdba表达式的类型就是一个函数接口,只是在Java 8中,编译器能够根据Lambda表达式所在的上下文推断出来所要传递行为的各类信息。orm

在JDK中提供了一组核心的函数接口,可使用这些函数接口传递行为。对象

Lambda表达式是一个匿名方法,将行为像数据同样进行传递。blog

相关文章
相关标签/搜索