Tôi muốn chuyển getter của bean thành một hàm. Khi hàm được gọi là getter nên được gọi. Ví dụ:Làm thế nào để vượt qua một getter như chức năng lambda?
public class MyConverter {
public MyConverter(Function f) {
this.f = f;
}
public void process(DTO dto) {
// I just want to call the function with the dto, and the DTO::getList should be called
List<?> list = f.call(dto);
}
}
public class DTO {
private List<String> list;
public List<String> getList() { return list; }
}
Có thể với java 8 không?
Tôi có thể hỏi tại sao bạn cần để đóng gói các chức năng trong lớp 'MyConverter' ? Và bạn đang làm gì trong phương thức 'process' của bạn với kết quả? Tôi hỏi vì có vẻ như bạn chỉ cần ánh xạ một giá trị nhất định cho một kết quả (thông qua hàm được cung cấp) và thực sự xử lý nó. Trong thực tế, lớp 'MyConverter' trông giống một bộ xử lý hơn là một trình biến đổi. –