java - Unexpected ArrayStoreException -


क्यों निम्नलिखित कोड को ArrayStoreException

  दोहराते हैं? [] ए = {2.0,3.4,3.6,2.7,5.6}; Int [] बी = {2,3,4,5}; System.arraycopy (ख, 0, एक, 1,4);  

डॉक्स से:

अन्यथा, यदि निम्न में से कोई भी सत्य है, तो एक अर्रेस्टोर अपवाद फेंक दिया जाता है और गंतव्य संशोधित नहीं होता है:

[...]

src तर्क और डेस्ट एर्मिबिल एरे को देखें जिसका घटक प्रकार अलग-अलग आदिम प्रकार हैं।

यह वास्तव में यहां मामला है - int और डबल अलग-अलग आदिम प्रकार हैं, इसलिए अपवाद के रूप में फेंक दिया जाता है दस्तावेज।

अर्रेपीपी का मुद्दा यह है कि किसी भी रूपांतरण को लागू किए बिना, यह आँख बंद करके कच्चे डेटा की नकल करके अंधाधुंध रूप से तेज़ी से काम कर सकता है। आपके मामले में यह होगा को रूपांतरण लागू करना होगा, इसलिए यह विफल हो जाता है।


Comments