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
    }
}
相关推荐
wind1003211 分钟前
Qt5Widgets.dll 缺失报错|游戏软件无法启动完整修复教程
开发语言·qt·游戏·电脑
我叫张土豆21 分钟前
在 OpenClaw Java 对话框输入一句话后,系统是如何运行的?
java·开发语言·人工智能
liangbo728 分钟前
JVM规范第 4 章:class 文件格式
java·jvm
橘子汽水16829 分钟前
Leetcode 236,437:二叉树的最近公共祖先,路径总和III
java·数据结构
牛油果子哥q30 分钟前
C++模板万字深度精讲:函数/类模板特化、全特化与偏特化、SFINAE机制、类型萃取、模板元编程入门、工程实战落地
开发语言·c++·面试
数据狐(Datafox)36 分钟前
1688商品详情API技术解析与落地应用(含标准 JSON 示例)
java·数据库·json
神仙别闹44 分钟前
基于C++ 实现 L 系统分形树
开发语言·c++
君顾144 分钟前
AI智能商城实战指南:从架构设计到部署落地的完整技术方案
java·开发语言·多商户
Rain的Java大神之路1 小时前
SkyWalking从0-1部署成功实战
java·后端·架构
就叫飞六吧1 小时前
Spring 动态注册与移除 Bean 科普
java·后端·spring