今天,在看视频教学时,看到一个特别的写法() ->{};对此感到很惊讶,为此百度了一下方知原来是Java 8的新特性。
于是总结一下新增特性:
1、Lambda表达式与Functional接口;Lambda表达式(也称为闭包),允许把函数作为一个方法的参数(函数作为参数传递进方法中)。一个Lambda可以由用逗号分隔的参数列表, -> 符号与函数体三部分表示。例如:Arrays.asList( "a", "b", "d" ).forEach( e -> System.out.println( e ) );
2、接口的默认方法与静态方法;默认方法使接口有点像(Scala中特征(trait)类似于Java中的Interface,但它可以包含实现代码)。
3、方法引用;可以直接引用已有的Java类或对象的方法或构造器。与lambda联合使用。可减少冗余代码。
4、重复注解
Java类库的新特性
1、Optional 可以保存类型T的值,或仅仅保存null。
2、Stream
3、Date/Time
4、Base64 ;在Java 8中,Base64编码已经成为Java类库的标准。