Trong Java, chúng ta đã biết có 2 kiểu dữ liệu là primitive và object. Vậy Lambda Expression với định nghĩa là một anonymous function thì kiểu dữ liệu của nó là gì? Trong bài viết này, chúng ta hãy cùng tìm hiểu nhé các bạn!
OK, như trong bài trước mình có nói, Lambda Expression được sử dụng với một Functional Interface. Điều này có nghĩa, chúng ta có thể sử dụng Lambda Expression ở bất cứ đâu mà kiểu dữ liệu của nó là một Functional Interface.
Functional Interface về cơ bản thì nó chỉ có một phương thức abstract, do đó chúng ta có thể dễ dàng map nó với một Lambda Expression để hiện thực phương thức abstract đó. Trong quá trình compile và runtime, Java sẽ generate một object với kiểu dữ liệu của Functional Interface sử dụng nội dung mà Lambda Expression đã hiện thực.
Nhưng một điều quan trọng mà các bạn cần nhớ rằng, không một class và vì thế cũng không một object nào liên quan trực tiếp tới Lambda Expression này. Nó chỉ là một chỉ dẫn để Java tạo ra một object cho các Functional Interface.
ilovebka56
“Nhưng một điều quan trọng mà các bạn cần nhớ rằng, không một class và vì thế cũng không một object nào liên quan trực tiếp tới Lambda Expression này. Nó chỉ là một chỉ dẫn để Java tạo ra một object cho các Functional Interface”. Câu này hay nè anh. thanks anh