2021年7月21日星期三

Java的Lambda表达式

Java的Lambda表达式

λ希腊字母表中排序第十一位的字母,英文名称为Lambda

避免匿名内部类定义过多

其实质属于函数式编程的概念

  • (params) -> expression[表达式]
  • (params) -> statement[语句]
  • (params) -> {statements}

为什么要用lambda表达式

  • 避免匿名内部类定义过多

  • 可以让你的代码看起来很简洁

  • 去掉了一堆没有意义的代码,只留下核心的逻辑

  • 理解Functional Interface(函数式接口)是学习Java8 lambda表达式的关键所在。

  • 函数式接口的定义:

    • 任何接口,如果只包含唯一一个抽象方法,那么他就是一个函数式接口。

      • public interface Runnable{	public abstract void run();}
    • 对于函数式接口,我们可以通过lamabda表达式来创建该接口的对象。

引入lambda表达式

package com.cnblogs.lambda;public class TestLambda1 { //静态内部类 static class Like2 implements Ilike{  @Override  public void lambda() {   System.out.println("我在这->2");  } } public static void main(String[] args) {  //1  Ilike like = new Like();  like.lambda();  //2  Ilike like2 = new Like2();  like2.lambda();  //局部内部类  class Like3 implements Ilike{   @Override   public void lambda() {    System.out.println("我在这->3");   }  }  //3  like = new Like3();  like.lambda();  //匿名内部类  like = new Ilike() {   @Override   public void lambda() {    System.out.println("我在这->4");   }  };  //4  like.lambda();  //lambda表达式  like = () -> {   System.out.println("我在这->5");  };  //5  like.lambda(); }}//函数式接口interface Ilike{ void lambda();}//实现类class Like implements Ilike{ @Override public void lambda() {  System.out.println("我在这->1"); }}

简化lambda表达式

  • lambda表达式只能有一行代码的情况下才能简化成一行,如果有多行,就用代码块包裹。

  • 前提是接口为函数式接口

  • 多个参数也可以去掉参数类型,要去掉就都去掉,必须加上括号

    • (a,b)-> System.out.println(a + b);
package com.cnblogs.lambda;public class Testlambda { public static void m......

原文转载:http://www.shaoqun.com/a/890962.html

跨境电商:https://www.ikjzd.com/

rfq:https://www.ikjzd.com/w/251

3suisses:https://www.ikjzd.com/w/412

grab:https://www.ikjzd.com/w/841


Java的Lambda表达式λ希腊字母表中排序第十一位的字母,英文名称为Lambda避免匿名内部类定义过多其实质属于函数式编程的概念(params)->expression[表达式](params)->statement[语句](params)->{statements}为什么要用lambda表达式避免匿名内部类定义过多可以让你的代码看起来很简洁去掉了一堆没有意义的代码,只留下核
启明星软件:https://www.ikjzd.com/w/1436
台风要扎堆生成?12号台风杨柳之后紧跟着就是13号台风玲玲:http://www.30bags.com/a/433420.html
台风预警降为橙色:9号台风明天傍晚将再次登陆山东:http://www.30bags.com/a/425169.html
台风预警解除:中央气象台正式停编9号台风利奇马:http://www.30bags.com/a/433265.html
台风砸坏车保险赔吗 台风天车子被树砸了保险赔吗:http://www.30bags.com/a/433217.html
车公车掀起裙子强行进 车子颠一次就进入的更深:http://lady.shaoqun.com/m/a/247945.html
口述:前妻送来的包裹让我和小三都哭了:http://lady.shaoqun.com/m/a/82890.html
在体育器材室被学长玩 坐在学长腰上动高H:http://www.30bags.com/m/a/249743.html
三种性学理论中人类性欲的本质和发展过程(8):http://lady.shaoqun.com/a/427374.html
刚刚!贝索斯成功上天,3分钟烧掉了28亿美元,还被卖家们骂了……:https://www.ikjzd.com/articles/146805
饥饿的男人居然挖墙入侵老人3年,最大的是95岁:http://lady.shaoqun.com/a/427376.html
曹写了一封信,要求在结婚十年后与妻子离婚。原判决让他感到愧疚,回到了家人身边:http://lady.shaoqun.com/a/427378.html

没有评论:

发表评论