สำเนาตื้นของแผนที่ใน Java
ตามที่ฉันเข้าใจมีสองวิธี (อาจเป็นวิธีอื่นเช่นกัน) ในการสร้างสำเนาตื้นของMapJava: 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(); วิธีหนึ่งเป็นที่ต้องการมากกว่าอีกวิธีหนึ่งและถ้าเป็นเช่นนั้นทำไม? สิ่งหนึ่งที่ควรกล่าวถึงคือวิธีที่สองให้คำเตือน "Unchecked Cast" ดังนั้นคุณต้องเพิ่ม@SuppressWarnings("unchecked")เพื่อหลีกเลี่ยงซึ่งเป็นเรื่องที่น่ารำคาญเล็กน้อย (ดูด้านล่าง) @SuppressWarnings("unchecked") public Map<String, Object> getDataAsMap() { // return a shallow copy of the …