java8新特性 (一) lambda表达式

前言

在这里插入图片描述
后面打算整一java8新特性的记录,因为之前也没过多的了解过这个java8新特性,毕竟没有java8新特性也不妨碍开发项目。

但是在之前有事没事的时候看到有一些开源项目中还是用到了新特性,有点整不明白,所以就学习一下并记录

自己手动插眼ing…


一、lambda使用场景

(1)使用条件:在使用函数式接口作为形参的方法中使用,列如:
在这里插入图片描述

(2)函数式接口:有且仅有一个抽象方法,列如:
在这里插入图片描述

(3)如何使用:就可以使用lambda表达式,列如:
在这里插入图片描述


二、lambda使用参数不同

1、无参

函数式接口:

public interface Eatable {
    void eat();
}

方法:

public void runEat(Eatable e){
    e.eat();
}

调用方法:

runEat(() -> System.out.println("吃饭饭"))

1、有参

函数式接口:

public interface Eatable {
    void eat(String str);
}

方法:

public void runEat(Eatable e){
    e.eat("吃饭饭");
}

调用方法:

runEat( s -> System.out.println(s) )

3、有参且有返回值

函数式接口:

public interface Eatable {
    int eat(int x ,int y);
}

方法:

public void runEat(Eatable e){
    e.eat(5,5);
}

调用方法:

runEat( (x,y) -> x+y )

或者

runEat((x,y) -> {return x+y;})

后言

基础的lambda就是这样,可以减少你的代码工作量

比如最常见的就是创建一个线程执行,如果不想创建一个继承runnable接口的类的话,匿名内部类是个好选择。

后面的话有多了lambda表达式的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值