博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
要通过面试,Lamdba要了解多少?
阅读量:6813 次
发布时间:2019-06-26

本文共 1322 字,大约阅读时间需要 4 分钟。

hot3.png

Jdk8已经不算个什么新玩意了,但总体来说,JDK8也算是个大的改动,增加了很多新玩意,比如Lamdba、StreamApi、新的时间处理方式、还有接口方面的新改动。其中比较新颖的要算Lamdba呢,lamdba那怪异的语法,初略的看上去还真有点莫名其妙,那么到底lamdba是什么玩意呢?

匿名委托(匿名内部类)

我并没打算百度一下详细的讲解lamdba的概念是什么,先大概了解他有什么用,对我们有什么好处,然后再由你决定是否在以后的工作中用上lamdba吧。

从哪里开始讲呢?从我们工作组经常用的匿名委托谈起……

匿名委托是什么玩意呢?其实就是我们经常会用到的“匿名内部类”

举个栗子,我们精彩用的线程,创建线程有好几种方法,那么用传统的。

  new Thread(new Runnable() {

           

            public void run() {

                System.out.println("嗯,没错,这是个匿名内部类");

            }

        }).start();

上面的写法对于你来说应该再熟悉不过了,如果连这都不熟悉,那么请客官还是先打好java的基础吧,可以加群523916260,我们再细讨论。

好像有点偏题了,我们继续说。

仔细看上面,上面那段代码是从IDEA里面截图的,细看我们发现上面有段灰色的波浪线,我们把鼠标放到那灰色的上面,会发现。

翻译一下:匿名内部类可以用Lamdba表达式代替。。

那么怎么用lamdba表达式代替呢?

神奇的Lamdba

Lamdba的语法我先不说,先把上面的“匿名内部类”替换了再说吧

new Thread(()->System.out.println("嗯,没错,这是个匿名内部类")).start();

和上面的匿名内部类的代码进行比较,是不是发现代码少了好多行,而且在IDEA这工具里面还有了个lamdba的符号。

嗯,我确认这就是lamdba表达式呢,那么你应该可以看出lamdba的显著优点“让代码更加简洁”。

白话Lamdba的定义

好吧,看了上面简单的案例,现在我问你个问题,假设我现在是你的面试官,而你来面试的时候,我问你个问题。

“Lamdba你听说过吗?请说下Lamdba是什么?” 你改怎么回答?

官方的解释,请自己去百度,我把Lamdba的解释如下

Lambda是一个匿名函数,即没有函数名的函数(简化了匿名委托的使用,让你让代码更加简洁)

Lamdba是个匿名函数应该可以理解了吧,通过前面改写Runnable就能发现,他实际就是实现Runnable接口的另外一种写法(只是有点怪怪的)

更重要是红色字体标注的内容,它简化了代码,嗯,我想这一点你也应该能直观的感受到,没错吧,如果面试官问你的时候,你能不能把上面这个案例给复述出来了呢?

通过这篇文章,我想你已经明白了lamdba是什么玩意,那么lamdba的语法到底是怎么样的呢?

我现在会写匿名内部类,又怎么根据写的匿名内部类改成成Lamdba表达式呢?

欲知下文请听下回分析,另外如果想看其他的文章,可以加群或是留言,群号在前面已经出现。

转载于:https://my.oschina.net/u/3830332/blog/1806213

你可能感兴趣的文章
Saltstack系列2:Saltstack远程执行命令
查看>>
使用工厂方法模式实现多数据库WinForm手机号码查询器(附源码)
查看>>
C#中窗体的close,dispose,以及application.exit()的区别
查看>>
github的使用 sourceTree
查看>>
iOS POST 上传图片
查看>>
Codeforces Round #435 (Div. 2) E. Mahmoud and Ehab and the function[二分]
查看>>
最全面的 Spring 学习笔记
查看>>
【037】Excel 中遍历修改文件(VBA)
查看>>
nw.js---创建一个点击菜单
查看>>
python+selenium常见坑
查看>>
Android基于mAppWidget实现手绘地图(九)–如何处理地图对象的touch事件
查看>>
Flash CS 6绘图技巧之锁定填充
查看>>
RHEL6.3 DNS高级技术三 通过rsync实现DNS View访问列表文件同步
查看>>
Microsoft Hyper-V Server 2012快速上手之创建脚本运行环境
查看>>
Hadoop周边生态软件和简要工作原理(一)
查看>>
想目录形式的列表,快捷键:Tab:切换到下级目录.Shift+tab:切换到上目录.在各种文本编辑器,word等中均可用....
查看>>
javascript关于IE和火狐处理event处理数据的问题
查看>>
多维数据查询效率分析(1)
查看>>
内存对齐
查看>>
log4net使用中遇到的一些问题
查看>>