先扯会🥚在入正题,首先这是本人第一次写博客,本来也没这个爱好,码字也挺费劲的。但为了某大牛说过,要成为大牛就必须写博客.还要看Java编程思想。所以我果断买了一本二手的Java编程思想,看了总计不超过24小时,我就快吐血了……这tm写的什么玩意?翻译的什么鬼?果断百度,Java编程思想怎么样。不料,网上大牛却一致好评……这我能怎么办,我也很无奈,只怪自己等级太低,内功不行吧。
既然圣经看不下去,那就扯扯犊子写写博客吧,当练级了,等等级高一点下去打boos。
有点跑题,现在说说lambda表达式。早就听说了java函数式编程,但一直没有见过。直到最近在一个项目中看见了传说中的lambda表达式。第一次见果然是脸懵逼,写了那么久的java第一次见到这么不像Java的代码。不过看起来还是很nb的,心想这么牛逼的代码要是学会了,以后就可以开开心心的装逼了……
深入研究之后,有了一些自己的见解。我认为lambda表达式本质上是一个对象。更确切的说是一个匿名内部类。但是如果你真把它看成一个对象又有些不太好。你见过()-》“”这样的对象么?你看看他长得哪点像对象。与其把它看成是一个对象更不如看成是一段代码。或者说是一个函数。
那么他的类型是什么呢?函数式接口。也就是一个函数里只有一个抽象方法的接口。本质上还是一个对象。但实际上确实一个新的类型,函数类型。
由于受到java万物皆对象思想的限制,在刚开始的时候很难转变过来。什么是函数类型?就是一段代码。也就是lambda表达式的类型。
由于有了函数类型,java可以实现把一段代码传来传去。
但是为什么要这么做呢?
有点累,写不动了。欲知后事如何,倾听下回分解....
网友评论