पूरी जेनेरिक चीज मुझे एक लूप के लिए फेंक रही है, और अधिक तो आरटीटी।जावा isInstance बनाम उदाहरण ऑपरेटर
विशिष्टता? आह अच्छी तरह से यहाँ सार है:
enum QueryHelper {
query1,
query2;
static <T> QueryHelper getQueryHelper (Class<T> expectedReturn) {
if (expectedReturn.isInstance (SomeRelatedClass.class))
return query1;
else
return query2;
}
}
और फिर मैं यह इतना की तरह कहेंगे:
...
QueryHelper helper = QueryHelper.getQueryHelper(SomeRelatedClass.class);
...
यह इसलिए है कि मैं वास्तव में लचीलेपन वास्तविक सहायक में क्वेरी वापसी प्रकार प्रदान कर सकते हैं। यह कुछ कास्टिंग और ऑब्जेक्ट सृजन करता है। जो मैं देख रहा हूं वह यह है कि कोई मैच नहीं है, क्या मुझे यह कुछ और तरीके से करना चाहिए? या पूरा विचार सिर्फ बुरा है?
और इसका असली दिल यह है कि मैं class.isInstance और instanceOf ऑपरेटर के बीच अंतर को समझ नहीं पा रहा हूं? क्या मुझे उत्तरार्द्ध का उपयोग करना चाहिए?
नामक एक अलग प्रकार हो सकता है आपका उपयोग पूर्व isInstance पिछड़ा है के लिए पर्याप्त है। उम्मीद की जाएगी टाइप.इस इंस्टेंस (myVar); – Affe
यह स्पष्ट करने के लिए धन्यवाद कि - मुझे मंदी की आवश्यकता है और सोचें कि जब मैं इस कोड को लिख रहा था। यह तब से आकार में बदल गया है, वास्तव में उपयोगी होने के लिए। एक बार फिर धन्यवाद! – rybit