Từ phiên bản 8, lập trình viên Java có thể áp dụng kỹ thuật Tham chiếu phương thức (method reference). Trong những đoạn mã nguồn Java, khi bạn nhìn thấy ký hiệu :: (hai dấu hai chấm) thì đó chính là tham chiếu phương thức.
3 dạng của tham chiếu phương thức:
– Phương thức tĩnh (static method)
– Phương thức khởi tạo đối tượng (instance methods)
– Constructor (“Constructor”: hàm tạo về bản chất cũng là phương thức)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
package vn.smartJob.java8features;
import java.util.List;
import java.util.ArrayList;
public class Example1 {
public static void main(String args[]) {
List employeeList = new ArrayList();
employeeList.add(“Bùi Đăng Trường”);
employeeList.add(“Nguyễn Tiến Mạnh”);
employeeList.add(“Nguyễn Văn Bình”);
employeeList.add(“Nguyễn Anh Dũng”);
employeeList.add(“Đỗ Văn Cường”);
employeeList.forEach(System.out::println);
}
}
// Kết quả:
//run:
//Bùi Đăng Trường
//Nguyễn Tiến Mạnh
//Nguyễn Văn Bình
//Nguyễn Anh Dũng
//Đỗ Văn Cường
//BUILD SUCCESSFUL (total time: 0 seconds)
|
Trong ví dụ trên, tại dòng 15, đã sử dụng kỹ thuật tham chiếu phương thức. Tham chiếu phương thức có thể kết hợp với Streams API giúp việc tăng tính linh hoạt (như chúng tôi đã trình bày trong phần 2).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
package vn.smartJob.java8features;
import java.util.function.Supplier;
public class Example2 {
public static void main(String[] args) {
String s = “SmartJob – Mạng tuyển dụng hàng đầu Việt Nam”;
printResult(s::length);
}
public static void printResult(Supplier<Integer> supplier) {
System.out.println(supplier.get());
}
}
// Kết quả:
// 44
|
Download mã nguồn từ server SmartJob: Java8_method_reference
hoặc clone/fork từ repository Github: https://github.com/SmartJobVN/java8
Đỗ Như Vý – developer tại SmartJob
Github,
java,
Java 8,
method reference,