首页 > 其他 > 详细

jdk8新特性

时间:2019-12-08 14:41:48      阅读:85      评论:0      收藏:0      [点我收藏+]

1、lambda表达式(包含参数和方法体)

lambda表达式可以说是匿名内部类的一种简化写法,省略了类名、方法名、类型等。

不同点(使用区别):匿名内部类可以实现接口的多个抽象方法,lambda表达式只针对有一个抽象方法的接口

说明:lambda表达式的参数对应抽象方法的参数,返回值对应抽象方法的返回值。(必须满足,不然没法用)

 

2、函数式接口

函数式接口就是只有一个抽象方法的接口

 

3、方法引用

方法引用可以说是lambda表达式的一种简化写法。

不同点(使用区别):lambda表达式的方法体已经有实现的方法时,才可以用。eg: System.out::println 替代 (str) -> System.out.println(str)

说明:

  ①方法引用所引用的方法的参数列表与返回值类型,需要与函数式接口中抽象方法的参数列表和返回值类型保持一致!格式1、2
  ②若Lambda 的参数列表的第一个参数,是实例方法的调用者,第二个参数(或无参)是实例方法的参数时,格式3: ClassName::MethodName

3种使用格式:  

  1、对象的引用 :: 实例方法名
  2、类名 :: 静态方法名
  3、类名 :: 实例方法名

jdk8新特性

原文:https://www.cnblogs.com/xyfaneast/p/12005375.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!