java lamda表达式

java lamda表达式lamda的语法:以逗号分隔,以()关闭的形参:(o1,o2) 箭头标记:-> 主体部分则是一个单表达式或者声明代码块。如下是单表达式形式:Integer.compare(m.getWeight(),n.getWeight())大致就是(参数x1,x2…..xn)–>{代码块}使用场景1:用lambda表达式实现Runnable//jav…

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

 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.net/141823.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序之自定义toast弹窗「建议收藏」

    微信小程序之自定义toast弹窗「建议收藏」微信小程序里面的自带弹窗icon只有两种,success和loading。有时候用户输入错误的时候想加入一个提醒图标,也可以使用wx.showToast中的image来添加图片达到使用自定义图标的目的;但是如果图标是字体,或者提醒的内容有很长捏(小程序中提醒的内容最多只能设置7个字,多了会被隐藏),那就只有自定义toast弹窗了;第一步:新建一个wxml文件用来装模板,方便以后使用,…

    2022年9月2日
  • java springmvc面试题_springmvc工作流程面试题(附答案)「建议收藏」

    java springmvc面试题_springmvc工作流程面试题(附答案)「建议收藏」对于java中的SSH三大框架,学习java语言的朋友都不陌生。三大框架中的SpringMVC是当今最主流的WebMVC框架,要做一名合格java程序员,学好springmvc是必须的。下面整理了10道springmvc工作流程面试题,可以作为有面试需要朋友们的学习准备资料。1、请简单说一下SpringMVC的工作原理?答:(1)用户向服务器发送请求,请求被springMVC前端控制器捕获;…

    2022年5月29日
  • PHP环境搭建单独安装「建议收藏」

    PHP环境搭建单独安装「建议收藏」Php环境的搭建主要内容:1、知识回顾2、几种常见的PHP环境安装方式3、安装php的运行环境4、php运行环境的介绍1.知识回顾1.1动态网站和静态网站web1.0(静态网站):不支

    2022年7月3日
  • 画二元函数图像_二元函数怎么画图

    画二元函数图像_二元函数怎么画图目录概述字符串表达式解析图像绘制函数作为属性赋值参考以及说明概述本篇博客主要是在上一篇《每个人都该懂点函数式编程》的基础上,进一步说明“函数”在函数式编程中的重要作用。强调了函数和普通类型一样,可以赋

    2022年8月6日
  • 关于GHO文件怎么安装,GHO文件怎么打开等问题解答

    关于GHO文件怎么安装,GHO文件怎么打开等问题解答首先说下GHO文件是什么,GHO文件是用GHOST软件对电脑硬盘中的系统备份生成的文件.我们用一键备份工具备份电脑系统会生成一个GHO文件,另外我们下载的ghost系统中(如雨林深度之类)也有一个GHO文件.1,问:gho文件怎么装系统,怎么安装gho文件. 答:总的来说是通过ghost软件来安装.比如U盘启动工具,网上的什么老毛桃,大白菜,电脑店之类的U盘启动工具都可以来安装,通过

    2022年7月12日
  • 最新http代理服务器地址0908[通俗易懂]

    最新http代理服务器地址0908[通俗易懂]IP:PortTypeSpeedCountry/Area206.206.88.6:80HTTP296,609,2015美国WestNet211.239.84.205:80HTTP156,1078,1078Korea212.116.219.54:8082HTTP703…

    2022年9月27日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号