java1.5-1.8特性整理

1.5特性:

1)自动装箱与拆箱

2)枚举类型

3)静态导入:import static

引入了类中的静态属性跟静态方法,可以省去前缀,直接调用。

4)可变参数(varargs):...

其实也就是组装成一个数据。直接对数据进行操作。

5)内省(introspector):简单的理解为,简化反射机制,获取对应bean的操作。

主要操作对象Introspector,BeanInfo,PropertyDescriptor

6)泛型(Generic):

7)for-each循环体:for( :)

1.7特性:

1)switch可以使用String对象

2)<>(diamond)的类型推断增强

之前容器并没有指明特定的类型,都是以object对象来操作的,设计到强转类型,会有很多麻烦,所以增强类型推断,当然以前没有类型的情况还是支持的。

3)资源的自动关闭

以前操作各种资源(主要是各种流)都需要手动关闭,比如final方法体内,catch方法体内。现在可以不用显式关闭。前提是这个资源实现了AutoClosable()接口中的close()方法,但是资源的引用必须在try{}方法体内,退出方法体之后,就会关闭对应的资源。

4)Collection的增强(最后考证,这东西是网上的谣传,没有这个特性,最直接的方法是自己去写一次,发现编译不通过)

以初始化数据的形式初始化容器,但是不同点是,这些初始化的容器的内容是不可变了。主要是[],{}的形式。

5)数字中可以使用下划线_主要是为了增强可读性

6)catch可以捕获多个异常,通过 | 进行分割

1.8特性:

1)Lambda表达式(也叫闭包):()->{}
可以认为是一种语法糖,底层实现没有变。但是是一种函数式编程思想的实现形式。

2)   函数式接口FunctionInterface

只有一个方法的接口

3)接口的静态方法和默认方法

4)方法引用

四种:1 构造方法(无参)2 类的静态方法(一个参数)3 类的非静态方法(无参) 4 对象的方法(一个参数)

5)重复打注解

需要重复打的注解必须@Repeatable注解

6)optional容器 感觉理解不难,上手难度不低。要多写几次才能理解。
核心思想是结合函数式编程然后让代码更加简洁优雅。如果不是函数式编程的思想,运用到optional容器,说不定代码更加多了,也就是没有正确的使用,一定是一连串的函数式调用才会简洁优雅。

7)steam,配合Lambda,贯彻函数式编程的思想。
主要是简化了集合框架,分三层,第一层获取steam,第二层(filter,distinct,skip,limit,map等操作后都产生一个新steam接着操作),第三层(sum,collection,findFirst)

还支持并行,parallel,reduce(其实就是map,reduce的思想)

8)JavaScript的引擎Nashorn

9)permGem被metaspace代替

很多特性没有整理进来。。但是对于目前我来说,掌握这些帮助最大。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值