Day17lambda表达式

Lambda表达式

语法:
{参数}->{表达式或者函数体}

例子:
//无参数,无返回值
() -> {System.out.println("Hello World");}
//有参数,有返回值
x -> 5 * x
//多个参数,有返回值
(integer a, integer b) -> (compare.(a, b))

当body部分只有一条语句时,不需要写return,也可以不写大括号,当参数部分只有一个参数时,也可以不写括号
参数部分也不需要写参数类型,编译器会自动识别

在函数式接口可以直接使用Lambda表带是来创建对象
函数式接口:只包含一个抽象方法的接口

如果需要将Lambda表达式作为参数传递,接受Lambda表达式的参数类型必须和该Lambda表达式的函数式接口兼容!

Lambda表达式有什么用呢?
简便了代码,相当于语法糖
原本我们这么写


new Thread(new Runnable() {  
    public void run() {  
            System.out.println("hello");  
        }  
}).start(); 

使用Lambda表达式

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

相关阅读更多精彩内容

友情链接更多精彩内容