jdk8——lambda表达式

在 Java 8 中引入了 Lambda 表达式,使得代码更加简洁和易读。Lambda 表达式是一种匿名函数,可以作为参数传递给方法或者存储在变量中。它主要用于简化函数式编程。

Lambda 表达式只能用于实现函数式接口。函数式接口是只包含一个抽象方法的接口,可以使用 @FunctionalInterface 注解进行标识,但这不是必须的。

语法形式 (parameters) -> { statements; }

java 复制代码
@FunctionalInterface
public interface Cul {
    int cul(int a, int b);
}
public class test {
    public static void main(String[] args) {
          Cul add = (int a, int b) -> {
              return a + b;
          };//本质就是简化了匿名函数的书写
        System.out.println(add.cul(1, 2));//3
    }
}

简化规则

1.参数类型可以省略不写

2.如果只有一个参数,参数类型可以省略,同时()也可以省略

3.如果Lambda表达式中方法体代码只有一行代码,可以省略大括号不写,同时要省略分号。此时如果这行代码是return语句,也必须去掉return。

上述案例简化后即如此

java 复制代码
public class test {
    public static void main(String[] args) {
          Cul add = ( a,  b) -> a + b;

        System.out.println(add.cul(1, 2));//3
    }
}
相关推荐
LayZhangStrive12 小时前
融360 一面
java·面试·后端开发
城管不管13 小时前
重生——第十次面试之开源中国一面挂
java·linux·开发语言·算法·面试·职场和发展·开源
Java小白笔记13 小时前
Windows系统免软件命令激活
java·网络·人工智能·windows·ai·ai编程
爱敲键盘的猴子13 小时前
深入理解 Java HashMap
java·hashmap
霸道流氓气质13 小时前
Java开发者AI编程常用MCP、Skills、Rules全景汇总
java·开发语言·ai编程
天涯醉青楼13 小时前
Spring Boot 接口返回 Bean 时字段名“变形”的深度剖析与解决方案
java
zoujiahui_201814 小时前
Python 包与环境管理工具 uv
开发语言·python·uv
步行cgn14 小时前
MyBatis 高级映射与延迟加载完全指南
java·tomcat·mybatis
thefool11226614 小时前
从中序与后序遍历序列构造二叉树
java
吴声子夜歌14 小时前
Java面试题——JVM(二)
java·开发语言·jvm