Lambda表达式使用前提:
1、有一个接口;
2、接口有且只有一个抽象方法。
Lambda表达式的标准格式:(形式参数) -> {代码块} ,如果有多个形式参数,逗号隔开,没有参数留空即可。
组成Lambda表达式的三要素:形式参数、箭头、代码块
分析:
():里面是形式参数,没有就是空的,有多个就逗号隔开;
-> :由英文中划线和大于符合组成,固定写法,代表指向动作;
{ } :大括号就是代码块,里面的内容是具体要写的方法内容。
Lambda表达式的省略格式:a、参数类型可以省略;
b、如果参数有且仅有一个,小括号可以省略;
c、如果代码块语句只有一条,大括号、分号可以省略,甚至是return。
public class LambdaTest { public static void main(String[] args) {
// 使用方法
CalculatorTest ct = (k, l) -> k + l;
int i = ct.calc(10, 10);
System.out.println(i);
useShowTest(() -> { System.out.println("我是Lambda表达式调用的无参无返回值方法"); }); useShowTest1((int num) -> { System.out.println("我是Lambda表达式调用的有参无返回值方法"); }); int a = useRandomNumTest(() -> { Random r = new Random(); int num = r.nextInt(10) + 1; return num; }); System.out.println("我是Lambda表达式调用的无参有返回值方法返回的结果----" + a); int z = useCalculatorTest((int m, int n) -> { return m - n; }); System.out.println("我是Lambda表达式调用的有参有返回值方法返回的结果----" + z); String s = useOmissionTest(msg -> "这是Lambda表达式的省略格式。。。"); System.out.println(s); } public static void useShowTest(ShowTest s) { s.show(); } public static void useShowTest1(ShowTest1 s1) { s1.show1(10); } public static int useRandomNumTest(RandomNumTest r) { return r.getNum(); } public static int useCalculatorTest(CalculatorTest c) { return c.calc(28, 10); } public static String useOmissionTest(OmissionTest o) { return o.omission(""); } } interface ShowTest { void show(); } interface ShowTest1 { void show1(int num); } interface RandomNumTest { int getNum(); } interface CalculatorTest { int calc(int m, int n); } interface OmissionTest { String omission(String msg); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现