मैं एक प्राथमिकता वर्ग बनाता हूं और गेटर्स के लिए मैं रनटाइम-टाइप टोकन का उपयोग नहीं करना चाहता हूं।कक्षा <T> का उदाहरण प्राप्त करें [रनटाइम-टाइप टोकन]
public <T> T get(String key, Class<T> clazz) {
// do some crazy stuff (e.g. Double <-> Float)
}
कि अप करने के लिए, सब कुछ ठीक काम करता है:
तो यहाँ मेरी गेटर तरीका है। लेकिन मुझे लगता है कि कक्षा पैरामीटर वैकल्पिक होगा।
public <T> T get(String key) {
// return get(key, Class<T>);
}
अब प्रश्न:: वहाँ ऐसा करने के लिए एक रास्ता है
boolean b = preferences.get(key);
तो मैं एक अतिरिक्त विधि जोड़ सकता हूँ? Class<T>
का उदाहरण/प्राप्त करने का कोई तरीका है।
यह एक छोटा सा वैकल्पिक हल के साथ संभव है:
public <T> T get(String key, T... args) {
return get(key, (Class<T>) args.getClass().getComponentType());
}
public <T> T get(String key, Class<T> clazz) {
System.out.println("key : " + key);
System.out.println("clazz: " + clazz);
}
// using
Boolean b = get("mykey");
एक ही जवाब को कई प्रश्नों पर कॉपी और पेस्ट करने की कोशिश न करें - यदि प्रश्न स्वयं समान हैं, तो उन्हें बजाय डुप्लिकेट के रूप में फ़्लैग करने पर विचार करें। मैंने इस उत्तर को हटा दिया है क्योंकि आपने अपना दूसरा हटा दिया है। – BoltClock
@ बोल्टक्लॉक असल में, मैंने गलती से उस दूसरे प्रश्न में अपना जवाब पोस्ट किया। मैंने ** तुरंत ** हटा दिया और इसे यहां पोस्ट किया। तो मेरा जवाब कभी दो बार मौजूद नहीं है। [जेएफवाईआई] –
आह, मैं देखता हूं। कभी-कभी सिस्टम चिपकाए गए उत्तरों के बारे में पसंद करता है। इसे क्लीयर करने के लिए शुक्रिया! – BoltClock