Những tính năng mới trong Java 8.

Những tính năng mới trong Java 8.

Những tính năng mới trong Java 8.

Java 8 được cập nhật khá nhiều tính năng mới và rất hữu ích (cập nhật về ngôn ngữ lập trình, bảo mật, Java FX, Internationalization, JDBC, Tool …).

Ở đây mình sẽ tóm tắt, giới thiệu những tính năng quan trọng nhất trong Java 8 mà lập trình viên hay dùng:

1. Lambda Expression

Lambda Expression là feature nổi bật nhất của Java 8, giúp cho cú pháp của Java trở nên đơn giản, rút gọn đi rất nhiều

Chi tiết: https://stackjava.com/java8/lambda-expression-la-gi-gioi-thieu-lambda-expression-trong-java-8.html

2. Default method in Interface

Java 8 cho phép thêm các method không trừu tượng bằng cách thêm từ khóa default:

Ví dụ:

public interface Calculate {
  default int sum(int a, int b) {
    return a + b;
  }
}

class Calculator implements Calculate {
  public static void main(String[] args) {
    Calculator calculator = new Calculator();
    calculator.sum(1, 2); // return 3
  }
}

3. Optional Class

Tính năng Optional Class giúp giải quyết các vấn đề chủ yếu về nullpointer

Chi tiết: https://stackjava.com/java8/optional-class-trong-java-8.html

4. Java Stream API

Stream là 1 lớp trừu tượng mới được giới thiệu trong Java 8 giúp ta giải quyết các bài toán về collections, array 1 cách tự nhiên hơn như thêm, sửa, xóa, lọc object…

Chi tiết: https://stackjava.com/java8/stream-api-la-gi-stream-api-trong-java-8.html

5. Functional Interface

Phần này sẽ giải thích rõ tại sao cú pháp Lambda Expression lại được viết như thế.

Chi tiết: https://stackjava.com/java8/functional-interface-la-gi-functional-interface-trong-java-8.html

6. Java Date Time API

Để xử lý 1 số tồn động về Date Time, Java 8 bổ sung 1 số tính năng mới trong Date Time API như: chuyển các đối tượng Date/Time sang immutable, chia rõ chức năng của các class

Chi tiết: https://stackjava.com/java8/tinh-nang-date-time-api-moi-trong-java-8.html

7. Code ví dụ Java 8

References:

http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html

 

stackjava.com