Lamaba表达式

    Lamaba表达式是Java8提供的新特性之一,在Java 8里面,所有的Lambda的类型都是一个接口,而Lambda表达式本身,也就是”那段代码“,需要是这个接口的实现。这是我认为理解Lambda的一个关键所在,简而言之就是,Lambda表达式本身就是一个接口的实现。

public class TestLamaba {


    public static void main(String[] args) {
        //如果只是单纯的通过lamaba表达式
        Lamabasevice lamabasevice = ()-> System.out.println("adad");
    }


    interface Lamabasevice{
        public int getNum(int a);
    }
}

      这就是一个最简单的示例,lamaba表达式实际上就是一个接口的实现类,类似于我创建了一个接口LamadaService,然后Lamada表达式实现了该service中的方法,通过传递参数做到实现类中的事情,讲道理,很像controller-service-serviceImpl中的serviceImpl,实现接口,进而实现接口中的方法,如果你的借口中只有一个方法,可以使用lamada表达式,可以大大减少冗余代码。

 public static void main(String[] args) {
        //如果只是单纯的通过lamaba表达式
        //Lamabasevice lamabasevice = ()-> System.out.println("adad");
        //此处我理解的是使用lamaba表达式起到实现类的作用
        Lamabasevice lamabasevice =(a1,a2) -> a1+a2;
        System.out.println(lamabasevice.getNums(1,2));
    }


    interface Lamadasevice{
        //public int getNum(int a);

        public int getNums(int a,int b);
    }

     这里体现的是两个参数的情况,通过传递的两个参数,实现了参数间的一个加法运算,最后输出结果。

     注意:此处我采用的是简写的形式,如果需要运用到返回值的形式,那么这边需要用return进行返回,同时需要用大括号进行包裹,具体写法如下:

 Lamabasevice lamabasevice =(a1,a2) ->{return a1+a2;};
        System.out.println(lamabasevice.getNums(1,2));

  是不是很熟悉了,其实就是简化我们代码的冗余程度,顺便提升下我们编写代码的优雅风格。

  lamaba表达式另外一个使用场景就是在集合的遍历之中进行使用,

ArrayList<Integer> list = new ArrayList<>();
        for (int i=0;i<5;i++){
            list.add(i);
        }
        list.forEach(i-> System.out.println(i));

  运用foreach进行遍历,使用i进行输出就可以遍历输出到控制台,到具体的场景中使用的就可以比较便捷。

  lamdba表达式的参数列表,接口方法的参数 ->  接口方法的实现

  在方法内部声明,在使用的时候调用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值