मान लें कि मेरे पास जावा 8 में निम्नलिखित कार्यात्मक इंटरफ़ेस है:
interface Action<T, U> {
U execute(T t);
}
और कुछ मामलों के लिए मुझे तर्क या वापसी प्रकार के बिना कार्रवाई की आवश्यकता है। तो मैं कुछ इस तरह से लिखता हूं:
Action<Void, Void> a = () -> { System.out.println("Do nothing!"); };
हालाँकि, यह मुझे संकलित त्रुटि देता है, मुझे इसे लिखने की आवश्यकता है
Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;};
जो कुरूप है। क्या Void
टाइप पैरामीटर से छुटकारा पाने का कोई तरीका है ?
Runnable
, जिसे आप ढूंढ रहे हैंRunnable r = () -> System.out.println("Do nothing!");