更新时间:2020-05-06 14:46:08 来源:极悦 浏览2380次
Java8终于引进了lambda表达式,这标志着Java往函数式编程又迈进了一小步。
在Java8以前的代码中,为了实现带一个方法的接口,往往需要定义一个匿名类并复写接口方法,代码显得很臃肿。比如常见的Comparator接口:
对于只有一个方法的接口,在Java8中,现在可以把它视为一个函数,用lambda表示式简化如下:
Java8没有引入新的关键字lambda,而是用()->{}这个奇怪的符号表示lambda函数。函数类型不需要申明,可以由接口的方法签名自动推导出来,对于上面的lambda函数:
参数由Comparator<String>自动推导出String类型,返回值也必须符合接口的方法签名。
实际上,lambda表达式最终也被编译为一个实现类,不过语法上做了简化。
对于Java自带的标准库里的大量单一方法接口,很多都已经标记为@FunctionalInterface,表明该接口可以作为函数使用。
以Runnable接口为例,很多时候干活的代码还没有定义class的代码多,现在可以用lambda实现:
在未来的Java代码中,会出现越来越多的()->{}表达式。
以上就是极悦java培训机构的小编针对“Java8新特性视频,lambda表达式”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习