Lambda表达式的无参数无返回值的练习和Lambda表达式有参数有返回值的练习
使用Lambda(无参无返回)
说明:给定一个厨师(Cook
)接口,内含唯一的抽象方法makeFood
,且无参数、无返回值。如下:
public interface Cook{ public abstract void makeFood(); }
在main主函数代码中,使用Lambda
的标准格式调用invokeCook
方法,打印输出"该进食了!"字样
public class DemoInvokeCook{ public static void main(String[] args) { // TODO 在此使用Lambda【标准格式】调用InvokeCook方法 // 使用旧方法 invokeCook(new Cook(){ @Override public void makeFood(){ System.out.println("该进食了!"); } }); // 使用Lambda表达式,简化匿名内部类的书写 invokeCook(() -> { System.out.println("该进食了!"); }); } private static void invokeCook(Cook cook){ cook.makeFood(); } }
使用Lambda(有参数有返回值)
案例1
- 使用数组存储多个Peoson对象
- 对数组中的Person对象使用Arrays的sort方法通过年龄进行升序排序
public class Demo01LambdaMain { public static void main(String[] args) { Person[] arr = { new Person("张三", 29), new Person("李四", 19), new Person("王五", 31) }; // 对数组中的Person对象使用Arrays的sort方法通过年龄进行升序(前边-后边)排序 Arrays.sort(arr, new Comparator<Person>(){ @Override public int compare(Person o1, Person o2) { return o1.getAge() - o2.getAge(); // 通过年龄进行升序 } }); // 使用Lambda表达式简化匿名内部类 Arrays.sort(arr, (Person o1, Person o2) -> { return o1.getAge() - o2.getAge(); }); // 遍历数组 for (Person person : arr) { System.out.println(person); } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)