मेरे पास कोड का एक टुकड़ा है जहां मुझे किसी विधि में किसी फ़ील्ड की कक्षा उत्तीर्ण करने की आवश्यकता है। मेरे कोड के यांत्रिकी के कारण मैं केवल संदर्भ वस्तुओं को संभाल सकता हूं, न कि प्राइमेटिव्स। मुझे यह निर्धारित करने का एक आसान तरीका चाहिए कि Field
का प्रकार आदिम है और उचित रैपर वर्ग के साथ इसे स्वैप करें।जावा में रैपर क्लास प्रकार प्राप्त करने का सरल तरीका
Field f = getTheField(); // Dummy method that returns my Field
Class<?> c = f.getType();
if (c == int.class) {
c = Integer.class;
}
else if (c == float.class) {
c = Float.class;
}
// etc
myMethod(c);
यह ठीक काम करता है, वास्तव में मैं स्पष्ट रूप से सभी आदिम प्रकार के लिए जाँच और उन्हें उचित आवरण वर्ग के साथ स्वैप करने के लिए जरूरत है कि के लिए छोड़कर: तो कोड मैं अब तक क्या कर में कुछ इस तरह है। अब मुझे पता है कि इतने सारे प्राचीन प्रकार नहीं हैं और उन्हें आसानी से सूचीबद्ध करने में कोई समस्या नहीं होगी, लेकिन मैं सोच रहा था कि ऐसा करने का एक आसान और अधिक सुरुचिपूर्ण तरीका था।
तो मूल रूप से एक ही बात ... :) उत्तर के लिए धन्यवाद। असल में इस समय कोई दूसरा रास्ता नहीं है। –