2011-02-03 11 views
11

मैं इस कोड द्वारा अपनी सरणी सूची का क्लोन बनाना चाहता हूं:जावा: सुरक्षित रूप से एक ArrayList के क्लोन टाइपकास्ट?

ArrayList<String> _names; 

ArrayList<String> names = (ArrayList<String>) _names.clone(); 

जहां तक ​​मुझे पता है, कुछ विशेष नहीं है। मेरा कंपाइलर हालांकि, निम्नलिखित चेतावनी देता है:

टाइप सुरक्षा: ऑब्जेक्ट से ऐरेलिस्ट से अनचेक कास्ट < स्ट्रिंग >

क्या कोई क्लीनर समाधान जानता है जो मुझे चेतावनी नहीं देता है?

+0

में कास्ट करना 'ArrayList ' यह चेतावनी नहीं देंगे। क्या आपको इसे 'ऐरेलिस्ट ' होने की आवश्यकता है? क्या आप परिणामी तत्वों पर 'toString' को कॉल कर सकते हैं? – finnw

+0

इसी तरह के मामलों के लिए मैंने डिफ़ॉल्ट रूप से "अनचेक" अक्षम किया है :) – bestsss

+0

@ finnw: मुझे इसे अन्य प्रकारों के लिए केवल @ बेस्ट्सएसएस की आवश्यकता है: मुझे कैडरियन के समाधान को बेहतर पसंद है :) – SirLenz0rlot

उत्तर

25
names = new ArrayList<String>(_names); 

या का उपयोग @SuppressWarnings("unchecked")

+0

धन्यवाद, उत्तर काफी स्पष्ट था :) यह काम करता है – SirLenz0rlot

संबंधित मुद्दे