Java 8 - Tổng quan
JAVA 8 là một bản phát hành tính năng chính của việc phát triển ngôn ngữ lập trình JAVA. Phiên bản đầu tiên của nó được phát hành vào ngày 18 tháng 3 năm 2014. Với bản phát hành Java 8, Java cung cấp hỗ trợ cho lập trình chức năng, công cụ JavaScript mới, các API mới để thao tác ngày giờ, API phát trực tuyến mới, v.v.
Các tính năng mới
Lambda expression - Thêm khả năng xử lý chức năng cho Java.
Method references- Tham chiếu các chức năng bằng tên của chúng thay vì gọi chúng trực tiếp. Sử dụng các hàm làm tham số.
Default method - Giao diện có phương thức thực thi mặc định.
New tools - Các công cụ và tiện ích trình biên dịch mới được thêm vào như 'jdeps' để tìm ra các yếu tố phụ thuộc.
Stream API - API luồng mới để tạo điều kiện xử lý đường ống.
Date Time API - Cải thiện API ngày giờ.
Optional - Nhấn mạnh vào các phương pháp hay nhất để xử lý các giá trị null đúng cách.
Nashorn, JavaScript Engine - Một công cụ dựa trên Java để thực thi mã JavaScript.
Hãy xem xét đoạn mã sau.
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));
}
}
Chạy chương trình để nhận được kết quả sau.
Sort using Java 7 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
Sort using Java 8 syntax:
[ Kalpesh Mahesh Naresh Ramesh Suresh ]
Đây sortUsingJava8() phương thức sử dụng hàm sắp xếp với biểu thức lambda làm tham số để nhận tiêu chí sắp xếp.