Giả sử tôi có giao diện chức năng sau trong Java 8:
interface Action<T, U> {
U execute(T t);
}
Và đối với một số trường hợp tôi cần một hành động không có đối số hoặc kiểu trả về. Vì vậy, tôi viết một cái gì đó như thế này:
Action<Void, Void> a = () -> { System.out.println("Do nothing!"); };
Tuy nhiên, nó mang lại cho tôi lỗi biên dịch, tôi cần phải viết nó dưới dạng
Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;};
Cái nào xấu. Có cách nào để thoát khỏi Void
tham số loại?
Runnable
thứ mà bạn đang tìm kiếmRunnable r = () -> System.out.println("Do nothing!");