Anladığım kadarıyla, Map
Java'da a'nın sığ bir kopyasını oluşturmanın birkaç yolu (belki diğerleri de) var :
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();
Bir yol diğerine tercih edilir ve öyleyse neden?
Bahsetmeye değer bir şey, ikinci yolun "Kontrolsüz Yayın" uyarısı vermesidir. Bu yüzden @SuppressWarnings("unchecked")
etrafından dolaşmak için eklemelisiniz ki bu biraz rahatsız edici (aşağıya bakın).
@SuppressWarnings("unchecked")
public Map<String, Object> getDataAsMap() {
// return a shallow copy of the data map
return (Map<String, Object>) ((HashMap<String, Object>) data).clone();
}