Java基础-java8新特性lambda表达式

1.lambda表达式的简单理解

简单来说,lambda表达式可以看做是用来替换匿名内部类的简便写法。

(x)->System.out.println(x);

左边是参数列表,右边是方法体。

2.lambda表达式的两种常见使用场景 

1.申明函数式接口变量的时候直接通过lambdab表达式来声明,然后通过引用来调用函数式接口中被lamdba表达式实现的的方法。

2.将函数式接口作为一个形参传入一个方法,在该方法中调用函数式接口的方法体,例如下面代码中的happy()方法。然后用另外的方法去调用happy()方法,在调用的时候传入lambda表达式作为函数式接口的实现。

一般来说第二种方法用的比较多,你可以在happy()方法中写另外的业务逻辑代码。

@FunctionalInterface
public interface MyInterface<T> {
    public boolean compare(T t );
}
public class ExampleForCsdn {
    @Test
    public void lambadaTest(){
        MyInterface<String> myInterface = (x)->x instanceof String;
        System.out.println(myInterface.compare("123"));
    }

    @Test
    public void lambdaTest2(){
        happy("123",(x)->x instanceof String);
    }

    public void happy(String a,MyInterface<String> myInterface){
        System.out.println(myInterface.compare(a));
    }
}

3.java本身定义的四大核心函数式接口

1.Consumer<T>:消费型接口,void accept(T t),有传入参数没有返回值

2.Supplier<T>:供给型接口,T get(),没有传入参数但是有返回值

3.Funcion<T>:函数型接口,R apply(T t),有参入参数和返回值

4.Predicate<T>:断言言接口,Boolean test(T t),有传入参数,返回值为boolean

4.总结与思考

只要用到匿名内部类的地方都可以使用lambda来替换。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值