यदि आपको अपने प्रकार के रूप में कुछ भी नहीं चाहिए, तो आप शून्य का उपयोग कर सकते हैं। इसका उपयोग कार्यों, या कार्यों को लागू करने के लिए किया जा सकता है। आप तब कुछ ऐसा कर सकते थे:
interface Action<T> {
public T execute();
}
abstract class VoidAction implements Action<Void> {
public Void execute() {
executeInternal();
return null;
}
abstract void executeInternal();
}
या आप अमूर्त वर्ग को छोड़ सकते हैं, और हर क्रिया में वापसी शून्य कर सकते हैं जिसके लिए स्वयं वापसी मूल्य की आवश्यकता नहीं है।
फिर आप इस तरह के कार्यों का उपयोग कर सकते हैं:
एक विधि दी
private static <T> T executeAction(Action<T> action) {
return action.execute();
}
आप इसे पसंद कर सकते हैं
String result = executeAction(new Action<String>() {
@Override
public String execute() {
//code here
return "Return me!";
}
});
या, शून्य कार्रवाई के लिए (ध्यान दें कि आप कुछ भी करने के लिए परिणाम नहीं दे रहे हैं)
executeAction(new VoidAction() {
@Override
public void executeInternal() {
//code here
}
});