ฉันมีArrayList
และฉันต้องการที่จะคัดลอกมันอย่างแน่นอน ฉันใช้คลาสยูทิลิตี้เมื่อเป็นไปได้บนสมมติฐานที่ว่ามีคนใช้เวลาทำให้ถูกต้อง ตามธรรมชาติแล้วฉันก็จบลงด้วยCollections
คลาสที่มีวิธีการคัดลอก
สมมติว่าฉันมีต่อไปนี้:
List<String> a = new ArrayList<String>();
a.add("a");
a.add("b");
a.add("c");
List<String> b = new ArrayList<String>(a.size());
Collections.copy(b,a);
นี้ล้มเหลวเนื่องจากโดยทั่วไปจะคิดว่าไม่ใหญ่พอที่จะถือb
a
ใช่ฉันรู้ว่าb
มีขนาด 0 แต่มันควรจะใหญ่พอตอนนี้ไม่ควรหรือไม่ ถ้าฉันต้องกรอกb
ก่อนจากนั้นก็Collections.copy()
จะกลายเป็นฟังก์ชั่นที่ไร้ประโยชน์อย่างสมบูรณ์ในใจของฉัน ดังนั้นยกเว้นการเขียนโปรแกรมฟังก์ชั่นการคัดลอก (ซึ่งฉันจะทำตอนนี้) มีวิธีที่เหมาะสมในการทำเช่นนี้หรือไม่?