Новые возможности Java 8
Java 8 (также известная как jdk 1.8) — это крупный выпуск в развитии языка Java. Корпорация Oracle выпустила Java 8 18 марта 2014 года. Она поддерживает функциональное программирование, новый движок JavaScript, новый API даты, новый Stream API и многое другое.
Новые возможности
Java 8 добавила очень много возможностей; мы в основном рассмотрим следующие:
Лямбда-выражения− Лямбда позволяет использовать функции в качестве параметров метода (функции, передаваемые в методы в качестве аргументов).
Ссылки на методы− Ссылки на методы предоставляют очень полезный синтаксис, который позволяет напрямую ссылаться на методы или конструкторы существующих классов или объектов Java (экземпляров). При использовании вместе с лямбда-выражениями ссылки на методы позволяют сделать языковые конструкции более компактными и краткими, сокращая избыточный код.
Методы по умолчанию− Метод по умолчанию — это метод, имеющий реализацию в интерфейсе.
Новые инструменты− Новые инструменты компиляции, такие как: движок Nashorn jjs, анализатор зависимостей классов jdeps.
Stream API− Новый Stream API (java.util.stream) привносит в Java по-настоящему функциональный стиль программирования.
Date Time API− Улучшенная обработка дат и времени.
Класс Optional− Класс Optional стал частью библиотеки классов Java 8, используется для решения проблемы исключений нулевого указателя.
Nashorn, движок JavaScript− Java 8 предоставляет новый движок JavaScript Nashorn, который позволяет нам запускать определенные приложения JavaScript на JVM.
Для получения дополнительной информации о новых возможностях обратитесь к официальному сайту:Что нового в JDK 8
В примерах статьи о Java 8 мы используем среду jdk 1.8. Вы можете использовать следующую команду для проверки текущей версии jdk:
$ java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Стиль программирования
Java 8 стремится иметь собственный стиль программирования и отличаться от Java 7. Следующие примеры показывают форматы программирования Java 7 и Java 8:
Код файла Java8Tester.java:
Выполните приведенный выше скрипт, результат вывода:
$ javac Java8Tester.java $ java Java8Tester 使用 Java 7 语法: [Baidu , Google , Example , Sina , Taobao ] 使用 Java 8 语法: [Baidu , Google , Example , Sina , Taobao ]
Далее мы подробно представим новые возможности Java 8 для всех:
| Нет. | Характеристика |
|---|---|
| 1 | Лямбда-выражения |
| 2 | Ссылки на методы |
| 3 | Функциональные интерфейсы |
| 4 | Методы по умолчанию |
| 5 | Поток |
| 6 | Класс Optional |
| 7 | Nashorn, движок JavaScript |
| 8 | Новый API Date/Time |
| 9 | Base64 |