Java 8 d的发布是让人等待已久的,并且包含了很多重要的特性。下面是关于Java 8新特性的说明和简单的使用示例。
写给谁?
本文内容重在说清楚Java 8新特性,不做深究,相信无论是对Java新手还是经验丰富的开发者都会有所用处。读完本篇,你会对java 8 的新特性有一个完整的了解,之后就可以开始你的深入研究之旅了…
预备知识
只需要掌握基本的Java编程基础,就可以学习以下知识。
一、预览
Java 8是Java语言一个重要更新版本,早在2014年就发布了,Java 8开始支持函数式编程、新的JavaScript执行引擎、新的时间API、新的流API等等。
Java 8新特性
- Lambda expression - 新的处理特性。
- Method references - 方法引用。
- Default method - 默认方法。
- New tools - 新的编译工具。
- Stream API - 新的流API,更方便的管道处理方式。
- Date Time API - 新的时间API。
- Optional - 更好的处理null的类。
- Nashorn、JavaScript Engine - 基于Java的JavaScript执行引擎。
下面是一个简单的例子:
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
import java.util.Comparator;
public class Java8Tester {
public static void main(String args[]) {
List<String> names1 = new ArrayList<String>();
names1.add("Mahesh ");
names1.add("Suresh ");
names1.add("Ramesh ");
names1.add("Naresh ");
names1.add("Kalpesh ");
List<String> names2 = new ArrayList<String>();
names2.add("Mahesh ");
names2.add("Suresh ");
names2.add("Ramesh ");
names2.add("Naresh ");
names2.add("Kalpesh ");
Java8Tester tester = new Java8Tester();
System.out.println("Sort using Java 7 syntax: ");
tester.sortUsingJava7(names1);
System.out.println(names1);
System.out.println("Sort using Java 8 syntax: ");
tester.sortUsingJava8(names2);
System.out.println(names2);
}
//sort using java 7
private void sortUsingJava7(List<String> names) {
Collections.sort(names, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.compareTo(s2);
}
});
}
//sort using java 8
private void sortUsingJava8(List<String> names) {
Collections.sort(names, (s1, s2) -> s1.compareTo(s2));
}
}
运行这段程序将会得到结果:
Sort using Java 7 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
Sort using Java 8 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
这里**sortUsingJava8()**方法在调用排序方法是使用了lambda表达式作为参数,代码更加简洁。
原文来自:
https://www.tutorialspoint.com/java8/index.htm
https://www.tutorialspoint.com/java8/java8_overview.htm