- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京尚学堂提供
尽管离Java?8的正式发布还有几个月,有计划说是在明年年初,但是Java开发团队还是共享了一些非常好的Lambda表达式的学习教程。lambda语句的使用,可能会在Java世界中一石激起千层浪。Lambda表达式,乍听起来可能很抽象学术,但其会在你日后的编程中产生重大影响。此外,伴随Java?8?出现的除了Lambda表达式,还有Stream?API、功能接口和默认方法。不出意外,我也在开始学习Java?8的新特征,同时也感谢那些乐意分享Lambda表达式学习资源的人,正是他们的拓荒工作为我们的学习开了方便之门。在这里,我也将追随他们,分享这些学习资源。如果你是一名专业的Java开发者,不久之后你也会加入学习Java?8的大军。这也必将会对使用Java集合框架编程产生重大影响,特别是高性能应用方面。之前,我在分享一些Java和Scala的区别时提到:Scala的一些非常酷的特征会让代码更加简洁、简明、可读性更好。今天,Java 8也能达到这些效果。因此,我们要持续关注Java?8的Lambda表达式、Stream?API、功能接口等新特征,也是因为他们是第一次出现在Java中,其带来的改变可能会比Java?1.5引入泛型带来的改变更大。
在Java中什么是Lambda表达式?
简单来说,Lambda表达式就是个函数——一段代码——能当作参数传给方法,因此能用Lambda表示的行为参数来处理各种变化情况。如果有JS的编程经验,你会发现能将匿名函数当参数给传给另一个函数。但直到Java?1.7,你还是只能将基本类型或者对象传给方法。Java的这些即将发生实质性改变的部分API将会名声遐迩,并更有可能用在被Stream?API回炉再造的集合框架中。Java?8的Lambda和Stream?API这些功能编程特征使得在遍历集合变得更为简洁。他们同样也能帮助在多核处理器下写出更为简洁、易管理和可扩展的代码。
Java?8?Lambda表达式、Stream?API、功能接口学习教程
我说过,为尽快上手Java?8我也在学习其新特征。直觉告诉我,一旦Java?8正式发布,业界将很难看到用Java?1.6或1.7建一个项目,就像在泛型出现之后,你很难看到一个不含泛型的集合框架一样。现在网上已经有很多好的学习教程可供利用。我已经选择一些最适合教程开始学习。下面这张列表是不完整的,如果今后学习中还能发现一些有趣和进度的地方,我也会将他们增加进表中。
1、Maurice?Naftalin’s?Lambda?FAQ
不管何时谈到Java?8的Lambda表达式学习资源,脑海中第一个想起的总是它。我虽曾多次访问这个站点,但每次都惊奇依旧。如果你对Maurice?Naftalin,《Java集合和泛型》的作者之一没有印象,没关系,在看其它资料之前,强烈建议你先访问这个网站,作者他对Lambda表达式的FAQ做了很多如“宝石”般有价值的工作。为了让你先睹为快,这里先列举一些其Lambda?FAQ中的一些问题。
什么是Lambda表达式?
为什么在Java中加入lambda表达式?
什么是功能接口?
Lambda表达式是对象吗?
Lambda表达式能用在哪些场合?
Lambda表达式的域规则是什么?
Lambda表达式的类型
Lambda表达式能用来定义递归函数吗?
Lambda语境中能使用变量吗?
什么是方法引用?
实例方法引用的语法是怎样?
什么是构造方法引用?
我猜想,Maurice?Naftalin也正在将Java?8中的变化更新到新版的《Java集合和泛型》一书中,届时这本书也是一个非常好的入门学习资源。期待他的新书!
2、Oracle官方Lambda语句学习教程
这是另一个非常棒的学习资源,正如Java的其它的官方教程一样,值得大家的mark!它采用对比的方式,以传统编程风格用本地和匿名类实现,最后再用lambda表达式得到一个更高效简洁的实现。它也解释了什么是方法引用及怎样使用它们。由于能用Lambda表达式创建匿名方法,但是,如果只是用lambda表达式调用一个已存在的方法,则直接用方法名来的更为简洁,用lambda表达式反而麻烦。这时,方法引用就有用武之地了,它用更为紧凑易读的lambda?表达式来处理那些已经有名字的方法。对于所有的初学者来说,一旦你阅读完Maurice的lambda表达式的FAQ,你就可以着手阅读这里的内容了,在对比分析这些例子中学习和提高。
3、Java?8?Lambda?语句介绍和视频教程
这里有很多Java?8新特征的介绍,包括lambda表达式、Stream?API、功能接口、默认方法和lambda表达式使用等8个主题。我已经收集了最好的一些权威作者的作品,比如Brian?Goetz,甲骨文的语
文档评论(0)