हाल ही में मैं एक साक्षात्कार में यह सवाल का सामना करना पड़ा:जावा में संग्रह की गहरी क्लोनिंग
एक समारोह लिखें वर्ग आहरण की गहरी क्लोन उदाहरण वापस जाने के लिए
public class Drawing{
public List<Shape> shapes=new LinkedList<Shape>();
}
जहां आकार कई ठोस होने एक अमूर्त वर्ग है कार्यान्वयन
public abstract class Shape implements Serializable{
}
क्या कोई कृपया यह बता सकता है कि इस तक कैसे पहुंचे? क्या हमें सभी ठोस कार्यान्वयन में क्लोन विधि जोड़ने की आवश्यकता है?
तथ्य यह है कि आकार Serializable लागू करता है एक संकेत है। साक्षात्कारकर्ता शायद आपको उम्मीद है कि आप सूची को क्रमबद्ध करें और इसे deserialize करें, और deserialized सूची का संदर्भ देने के लिए एक नया ड्राइंग उदाहरण बनाने के लिए। –
@JBNizet दूसरी तरफ यदि आकार में क्षणिक क्षेत्र हैं, तो वे धारावाहिकरण के दौरान खो जाएंगे, लेकिन वस्तुओं को क्लोन किए जाने पर खो नहीं जाएगा। – AdamSkywalker
जांचें कि क्या यह मदद करेगा http://stackoverflow.com/questions/64036/how-do-you-make-a-deep-copy-of-an-object-in-java – Ravi