यह एक निम्न प्रश्न आ रहा है।
दिए गए दो विधियों के साथ,
@SuppressWarnings ("अनचेक") स्थिर & lt; T & gt; टी [] सरणी 1 (अंतिम कक्षा & lt; T & gt; तत्व प्रकार, अंतिम पूर्णांक आकार) {रिटर्न (टी []) सरणी। नई एक्सटेंशन (तत्व प्रकार, आकार); } स्थिर & lt; T & gt; टी [] सरणी 2 (अंतिम कक्षा & lt; T []> सरणी प्रकार, अंतिम पूर्णांक आकार) {return arrayType.cast (Array.newInstance (arrayType.getComponentType (), आकार)); } दोनों विधियां ऑब्जेक्ट प्रकार के लिए ठीक काम करती हैं।
अंतिम पूर्णांक [] objectArray1 = array1 (पूर्णांक। वर्ग, 0); अंतिम पूर्णांक [] objectArray2 = array2 (पूर्णांक []। वर्ग, 0); जब प्राथमिकताओं की बात आती है, दोनों आमंत्रण संकलन नहीं करते हैं।
// array1 अंतिम int [ ] PrimitiveArray1 = array1 (int.class, 0); GenericArray.java12: त्रुटि: असंगत प्रकार अंतिम पूर्णांक [] primitiveArray1 = array1 (int.class, 0); ^ [आवश्यक]: पूर्णांक [] मिला: पूर्णांक [] 1 त्रुटि // array2 अंतिम int [] primitiveArray2 = array2 (int [ ]। वर्ग, 0); GenericArray.java:13: त्रुटि: वर्ग GenericArray में विधि array2 दिए गए प्रकारों पर लागू नहीं किया जा सकता; अंतिम पूर्णांक [] आदिमअरेरे 2 = सरणी 2 (int []। वर्ग, 0); ^ अपेक्षित: क्लास और लेफ्टिनेंट टी []>, इंट: क्लास और लेफ्टिनिअस इंट []>, इंटरेस्ट: अनुमानित बद्धों का अनुमान नहीं है: इंट बाउंड्स: ऑब्जेक्ट जहां टी एक प्रकार है -वर्तनीय: टी विधि में & lt; T & gt; array2 (कक्षा & lt; T [] & gt; int) 1 त्रुटि मैं आदिम प्रकारों के साथ कैसे कर सकता हूँ?
इसके बदले इसे प्रयास करें
स्थिर & lt; a & gt; एक सरणी 3 (अंतिम कक्षा & लेफ्टिनेंट; ए & gt; सरणी प्रकार, अंतिम पूर्णांक आकार) {इनपुट छोड़े गए ...} अंतिम पूर्णांक [] आदिमअरेरे 3 = सरणी 3 (int []। वर्ग, 0);
No comments:
Post a Comment