ฉันมี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()จะกลายเป็นฟังก์ชั่นที่ไร้ประโยชน์อย่างสมบูรณ์ในใจของฉัน ดังนั้นยกเว้นการเขียนโปรแกรมฟังก์ชั่นการคัดลอก (ซึ่งฉันจะทำตอนนี้) มีวิธีที่เหมาะสมในการทำเช่นนี้หรือไม่?