前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java lamda表达式

java lamda表达式

作者头像
全栈程序员站长
发布2022-09-01 16:01:12
3690
发布2022-09-01 16:01:12
举报

大家好,又见面了,我是你们的朋友全栈君。

lamda的语法:

  • 以逗号分隔,以()关闭的形参:(o1, o2)
  • 箭头标记:->
  • 主体部分则是一个单表达式或者声明代码块。如下是单表达式形式:Integer.compare(m.getWeight(), n.getWeight())

大致就是(参数x1,x2…..xn)–> { 代码块 }

使用场景1:用lambda表达式实现Runnable

//java1.8之前 new Thread(new Runnable() { @Override public void run() { System.out.println("Before Java8, too much code for too little to do"); } }).start(); //java 1.8之后 new Thread( () -> System.out.println("In Java8, Lambda expression rocks !!") ).start();

使用场景2: lambda表达式进行事件处理

JButton show = new JButton(“Show”); show.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { System.out.println(“Event handling without lambda expression is boring”); } }); // Java 8方式: show.addActionListener((e) -> { System.out.println(“Light, Camera, Action !! Lambda expressions Rocks”); });

使用场景3:forEach 的使用

List<Person> personList = new ArrayList<>(); personList.add(new Person("yang","cai")); personList.add(new Person("yang","fen")); personList.add(new Person("yang","feng")); //java 1.8之前 for(Person p : personList){ System.out.println(p.getFirstName() } //java 1.8 personList.forEach(x->System.out.println(x.getFirstName()));

使用场景4:Supplier,Predicate,Comparator,Function,Consumer等接口的使用,见java函数式编程之五个基本接口

使用场景5:在Java stream中的使用,其实也是场景4的使用,下一节讲 java stream学习讲到

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141823.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档