के साथ श्रृंखला-जिम्मेदारी हैंडलर मैं जावा में जिम्मेदारी डिजाइन-पैटर्न की श्रृंखला का उपयोग कर रहा हूं। पूरी तरह से श्रृंखला कुछ प्रकार की वस्तुओं के लिए एक अनुरोध का प्रतिनिधित्व करता है। श्रृंखला में प्रत्येक "हैंडलर" 1 प्रकार की अनुरोधित इकाइयों को संभालने के लिए ज़िम्मेदार है। सभी अनुरोधों को अनिवार्य रूप से उसी तरह से संभाला जाता है इसलिए मैंने "हैंडलर" -क्लास जेनेरिक बनाने की कोशिश की।जावा जेनेरिक
public class Handler<T>{
int required;
Handler<?> next;
public void handle(Object O){
if(o instanceof T){
required --;
}else{
next.handle(o);
}
}
}
समस्या यह है कि इस तरह की एक instanceof असंभव है: तो हैंडल श्रेणी में मैं इस तरह एक विधि (हैंडलिंग ही सरल है क्योंकि यह केवल मेरी समस्या अंधेरा करना होगा) की जरूरत है। क्योंकि टाइप टी को रन टाइम के दौरान स्पष्ट रूप से संग्रहीत नहीं किया जाता है (या इंटरनेट पर मेरे शोध के दौरान मुझे यही समझा जाता है)। तो मेरा सवाल है: सबसे अच्छा विकल्प क्या है?
वास्तव में .... यह उच्च ऑब्जेक्ट स्तर के लिए काम करता है, लेकिन जेनिक्स संकलन समय पर विधि हस्ताक्षर में 'ऑब्जेक्ट' के लिए डिफ़ॉल्ट लगता है। वैसे भी। दूसरा समाधान हटा दिया गया है, लेकिन पहला समाधान अभी भी अच्छा है जो आप –
प्राप्त करने की कोशिश कर रहे हैं, यह समाधान के निकटतम है, जिसे मैं प्राप्त करना चाहता था, धन्यवाद। अब मैं सामान्य भाग छोड़ सकता हूं, क्योंकि मैं कक्षा के साथ सब कुछ एक तर्क के रूप में कर सकता हूं – Ingdas