मैं वास्तव में व्यवहार आपने उल्लेख किया है दोहराने के लिए सक्षम नहीं हूँ। मैं इस मुद्दे के मूल कारण के रूप में उथले प्रतिलिपि का उल्लेख कुछ जवाब देख सकता हूं। अगर मैं गलत हूं, तो मुझे सही करें, उथली प्रतिलिपि का मतलब है कि क्लोनिंग के दौरान किसी वस्तु की प्रतिलिपि के बजाय, हमें संदर्भ की प्रति प्राप्त होगी।एक अच्छा स्पष्टीकरण यहां पाया जा सकता है In Java, what is a shallow copy?
इस मामले में उथली प्रतिलिपि केवल यह सुनिश्चित करेगी कि मूल सरणी में परिवर्तन क्लोन सरणी में दिखाई देते हैं लेकिन कॉपी होने से कुछ भी नहीं रोकेंगे।
int[][] array = new int[][] {{1,2,3},{4,5,6}, {7,8,9}};
int[][] clone = array.clone();
//Try this to see magic of shallow copy
//array[2][1]=11;
for(int i=0;i<array.length;i++)
for(int j=0;j<array[i].length;j++)
System.out.println("array["+i+"]["+j+"]"+array[i][j]);
for(int i=0;i<clone.length;i++)
for(int j=0;j<clone[i].length;j++)
System.out.println("clone["+i+"]["+j+"]"+clone[i][j]);
मेरे लिए क्लोनिंग पूरी तरह से किया जाता है, दोनों एरे के समान सामग्री होती है। एकमात्र कारण मैं इस मुद्दे को प्राप्त करने के बारे में सोच सकता हूं कि क्लोन सरणी कुछ जानकारी नहीं दिखाएगी कि हमने वास्तव में क्लोनिंग के बाद मूल सरणी को संशोधित किया है (उथले प्रतिलिपि तब खेल में आती है)।
बीटीडब्ल्यू मैंने जावा 1.6 का उपयोग किया, मुझे उम्मीद है कि यह कोई मुद्दा नहीं है।
संपादित करें: अगर हमें समझने की आवश्यकता है कि क्यों वे एक बहुआयामी सरणी की गहरी प्रतिलिपि के बजाय एक उथली प्रतिलिपि है। आइए 2 तथ्यों को देखें
- क्लोनिंग करते समय ऑब्जेक्ट्स हमेशा उथले प्रतिलिपि (ऑब्जेक्ट के संदर्भ की प्रति) के रूप में क्लोन हो जाते हैं, केवल मूल प्रकारों को वास्तविक प्रति प्राप्त होती है। In Java, what is a shallow copy?
- जावा में एक सरणी वास्तव में एक वस्तु Is an array an object in java
अब 1 और 2 के संयोजन है, हम जानते हैं कि जावा में बहुआयामी सरणी सिर्फ एक वस्तु है, जो अन्य सरणी वस्तुओं के संदर्भ में है है।
कुछ ArrayObj -> {ArrayObj, ArrayObj, ArrayObj} की तरह कुछ;
और क्योंकि हमारे पास ऑब्जेक्ट्स (रचना) के अंदर ऑब्जेक्ट्स हैं, तो हमें जावा क्लोनिंग नियम के अनुसार एक उथली प्रति प्राप्त करना होगा।
मैं स्पष्ट करूंगा। क्लोनिंग वास्तव में खुश है, लेकिन यह गहरा नहीं है। – Bozho