酷似js的java函数简写——lambda表达式

简介: 酷似js的java函数简写——lambda表达式

可以称作闭包,是java8的重要特性

lambda允许把函数当做一个方法的参数,使代码简洁紧凑


前提:必须是函数式接口才能使用lambda表达式

函数式接口:任何接口,只包含一个抽象方法

//推导lambda表达式1
public class TestLambda{
  public static void main(String[] args){
      ILike like=new Like();
        like.lambda();
    }
}
//定义一盒函数式接口
interface ILike{
  void lambda();
}
//实现类
class Like implements ILike{
  @override
    public void lambda(){System.out.println("我喜欢lambda")}
}

静态内部类:顾名思义

//推导lambda表达式2
public class TestLambda{
//实现类挪到类里变成静态内部类
static class Like implements ILike{
  @override
    public void lambda(){System.out.println("我喜欢lambda")}
}
  public static void main(String[] args){
      ILike like=new Like();
        like.lambda();
    }
}
//定义一盒函数式接口
interface ILike{
  void lambda();
}

局部内部类:放在方法里的类

//推导lambda表达式3
public class TestLambda{    
  public static void main(String[] args){
      ILike like=new Like();
        like.lambda();
    //实现类→静态内部类→局部内部类
  class Like implements ILike{
    @override
      public void lambda(){System.out.println("我喜欢lambda")}
  }
    }
}
//定义一盒函数式接口
interface ILike{
  void lambda();
}

匿名内部类:没有类名,必须借助接口或父类

//推导lambda表达式4
public class TestLambda{    
  public static void main(String[] args){     
    //实现类→静态内部类→局部内部类→匿名内部类
  like=new ILike(){
    @override
      public void lambda(){System.out.println("我喜欢lambda")}
  }
  like.lambda();
    }
}
//定义一盒函数式接口
interface ILike{
  void lambda();
}

lambda:不要接口名,也不要方法名,只写方法体

//推导lambda表达式5
public class TestLambda{    
  public static void main(String[] args){     
    //实现类→静态内部类→局部内部类→匿名内部类→lambda
  like=()→{System.out.println("我喜欢lambda")};
  like.lambda();
    }
}
//定义一盒函数式接口
interface ILike{
  void lambda();
}

带参数的lambda:a就是参数,参数类型可以去掉,一去掉就都去掉,多参数必须加括号

简化成3的前提:方法体只有一行


相关文章
|
6天前
|
Java
探索Java中的Lambda表达式
【9月更文挑战第28天】Lambda表达式,这一Java 8引入的轻量级语法结构,为函数式编程提供了强有力的支持。它简化了代码,提高了开发效率,并使得并行处理数据变得异常容易。本文将通过直观的例子和详细的解释,带领读者深入理解Lambda表达式的奥秘,从而在编程实践中更加灵活地运用它们。
|
7天前
|
JavaScript 前端开发
JavaScript函数可以返回两个值
JavaScript函数可以返回两个值
|
7天前
|
Java API
探索Java中的Lambda表达式
【9月更文挑战第27天】Lambda表达式,作为Java 8的一大亮点,为我们的编程世界带来了一股清新之风。它以其简洁明了的语法和强大的功能,让我们在处理集合、线程等复杂操作时如鱼得水。本文将带你一探Lambda表达式的奥秘,让你领略到它的魅力所在。
18 6
|
4天前
|
Java 开发者
探索Java中的Lambda表达式:简化你的代码之旅##
【8月更文挑战第62天】 Java 8的发布为开发者带来了诸多新特性,其中最引人注目的无疑是Lambda表达式。这一特性不仅让代码变得更加简洁,还极大地提升了开发的效率。本文将通过实际示例,展示如何利用Lambda表达式来优化我们的代码结构,同时探讨其背后的工作原理和性能考量。 ##
|
5天前
|
Java API 开发者
探索Java中的Lambda表达式
【9月更文挑战第29天】Lambda表达式,在Java编程中,它不仅仅是一种语法糖,更是简化代码、提升效率的利器。本文将通过浅显易懂的语言和实际代码示例,带你走进Lambda的世界,了解其背后的原理和在日常开发中的应用,让你的代码更简洁、更高效。
|
7天前
|
Java API 开发者
探索Java中的Lambda表达式:简化代码,提升效率
【9月更文挑战第27天】在Java 8中引入的Lambda表达式为编程带来了革命性的变化。通过简洁的语法和强大的功能,它不仅简化了代码编写过程,还显著提升了程序的执行效率。本文将深入探讨Lambda表达式的本质、用法和优势,并结合实例演示其在实际开发中的应用。无论你是Java新手还是资深开发者,都能从中获得启发,优化你的代码设计。
|
7天前
|
自然语言处理 分布式计算 JavaScript
JavaScript函数
JavaScript函数
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
18 4
JavaScript基础知识-函数的参数
|
11天前
|
JavaScript 前端开发
JavaScript 函数参数
JavaScript 函数参数
23 3
|
3月前
|
JavaScript 前端开发 网络架构
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
JavaScript编码之路【对象的增强、ES6新特性之函数的默认值设置 、rest参数 (剩余参数)、拓展运算符、对象与数组的解构赋值】
49 1
下一篇
无影云桌面