java8的新特性
Java8特性指南
Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。
注:API(Application Programming Interface,应用程序接口)是一些预先定义的接口(如函数、HTTP接口),或指软件系统不同组成部分衔接的约定。 [1] 用来提供应用程序与开发人员基于某软件或硬件得以访问的一组例程,而又无需访问源码,或理解内部工作机制的细节。
java SE 8
- 自java5以来最大的版本变动
- 很大程度增强java类库
- 主要目标
- 更高的开发效率
- 更高代码可靠性
- 项更好利用多核和多处理器系统
- 项 代码不再串行执行
Lambdas表达式
- Lambda表达式(也称为闭包)是整个Java 8发行版中最受期待的在Java语言层面上的改变,Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中),或者把代码看成数据:函数式程序员对这一概念非常熟悉。在JVM平台上的很多语言(Groovy,Scala,……)从一开始就有Lambda,但是Java程序员不得不使用毫无新意的匿名类来代替lambda。
- 实例:
下面展示一些内联代码片
。
// A code block
Arrays.asList( "a", "b", "d" ).forEach( e -> System.out.println( e ) );
Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> e1.compareTo( e2 ) );
Arrays.asList( "a", "b", "d" ).sort( ( e1, e2 ) -> {
int result = e1.compareTo( e2 );
return result;
} );
- 函数式接口:只包含一个方法的接口
语法:(parameters) -> expression 或者 (parameters) -> { statements; } - 方法引用
跟 lambda 表达式一样的
语法:ObjectReference::methodName
**以前的做法:
下面展示一些内联代码片
。
/