ฉันมีโครงสร้างข้อมูลบางส่วนและฉันต้องการใช้โครงสร้างแบบชั่วคราวและอีกแบบไม่ใช่แบบชั่วคราว
ArrayList<Object> myObject = new ArrayList<Object>();
ArrayList<Object> myTempObject = new ArrayList<Object>();
//fill myTempObject here
....
//make myObject contain the same values as myTempObject
myObject = myTempObject;
//free up memory by clearing myTempObject
myTempObject.clear();
ตอนนี้ปัญหาของหลักสูตรนี้myObject
เป็นเพียงแค่ชี้ไปที่จริงๆmyTempObject
และเมื่อmyTempObject
เคลียร์แล้วก็เป็นเช่นนั้นmyObject
เช่นนั้น
ฉันจะเก็บค่าจากวิธีการmyTempObject
ในmyObject
การใช้ Java?
List.addAll
. แต่ถ้าคุณต้องการเก็บวัตถุทั้งหมดการล้างรายการชั่วคราวจะไม่เป็นการล้างหน่วยความจำทั้งหมด เนื่องจากคุณพยายามล้างข้อมูลอ้างอิงเท่านั้นเท่าที่คุณพยายามเก็บไว้