JDK的新特性

本文介绍了JDK1.8的主要新特性,包括Lambda表达式,函数式接口,方法引用,Optional类,Stream API以及Date/Time API。Lambda表达式简化了代码,函数式接口如@FunctionalInterface可以转换为Lambda。Stream API带来了数据流处理,而新的Date-Time API提供了更好的日期和时间处理。此外,文章还讨论了Open JDK和Oracle JDK的区别。
摘要由CSDN通过智能技术生成

JDK1.8新特性

一、 1.Java SE的发展史

2014年3月18日,JDK 8发布【第三里程碑】
新特性及更新修改:
(1)Lambda表达式:Lambda表达式可以说是Java 8最大的卖点,它将函数式编程引入了Java。Lambda允许把函数作为一个方法的参数,或者把代码看成数据。
(2)接口的默认方法与静态方法:我们可以在接口中定义默认方法,使用default关键字,并提供默认的实现。所有实现这个接口的类都会接受默认方法的实现,除非子类提供的自己的实现。
(3)方法引用(含构造方法引用):方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码
(4)Optional 类:Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
(5)Stream API:新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中
(6)Date/Time API (JSR 310):加强对日期与时间的处理。Java 8新的Date-Time API (JSR 310)受Joda-Time的影响,提供了新的java.time包,可以用来替代 java.util.Date和java.util.Calendar。一般会用到Clock、LocaleDate、LocalTime、LocaleDateTime、ZonedDateTime、Duration这些类,对于时间日期的改进还是非常不错的。
(7)Base64编码:在Java 8中,Base64编码成为了Java类库的标准。Base64类同时还提供了对URL、MIME友好的编码器与解码器。

2.了解Open JDK和Oracle JDK

(1)OpenJDK是Sun在2006年末把Java开源而形成的项目,这里的“开源”是通常意义上的源码开放形式,即源码是可被复用的,例如IcedTea、UltraViolet都是从OpenJDK源码衍生出的发行版。

(2)Oracle JDK采用了商业实现,而OpenJDK使用的是开源的FreeType。当然,“相同”是建立在两者共有的组件基础上的,Oracle JDK中还会存在一些Open JDK没有的、商用闭源的功能,例如从JRockit移植改造而来的Java Flight Recorder。预计以后JRockit的MissionControl移植到HotSpot之后,也会以Oracle JDK专有、闭源的形式提供。

二、1. Lambda 和 函数式接口

(1)Lambda 表达式相信不用再过多的介绍,终于在 Java 8 引入了,可以极大的减少代码量,代码看起来更清爽。

(2)函数式接口就是有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。可以隐式转化为 Lambda 表达式。定义一个函数式接口如下:

interface Operation{
   
	int operation(int a,int b);
}

2. 特殊的接口和方法的调用

(1)特殊的接口:接口里面的方法可以有方法体
(2)方法的调用:可以使用::调用方法
构造方法引用使用方式:Class::new

Test test = Test.create(Test::new)

静态方法引用使用方式:Class::staticMethod

test.operate(1,2</
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值