जैसा कि मैं इसे समझता हूं, Map
जावा में एक उथले कॉपी बनाने के लिए कुछ तरीके हैं (शायद दूसरों के साथ भी) :
Map<String, Object> data = new HashMap<String, Object>();
Map<String, Object> shallowCopy;
// first way
shallowCopy = new HashMap<String, Object>(data);
// second way
shallowCopy = (Map<String, Object>) ((HashMap<String, Object>) data).clone();
क्या एक तरीका दूसरे पर पसंद किया जाता है, और यदि हां, तो क्यों?
एक बात ध्यान देने योग्य है कि दूसरा तरीका "अनियंत्रित कास्ट" चेतावनी देता है। तो आपको इसके @SuppressWarnings("unchecked")
आसपास जाने के लिए जोड़ना होगा, जो थोड़ा परेशान है (नीचे देखें)।
@SuppressWarnings("unchecked")
public Map<String, Object> getDataAsMap() {
// return a shallow copy of the data map
return (Map<String, Object>) ((HashMap<String, Object>) data).clone();
}