Đơn giản chỉ cần đặt, tôi có một phương thức với tham số ArrayList. Trong phương pháp tôi sửa đổi nội dung của ArrayList cho các mục đích chỉ liên quan đến những gì được trả về bởi phương thức. Do đó, tôi không muốn ArrayList đang được truyền như tham số bị ảnh hưởng ở tất cả (tức là không được chuyển làm tham chiếu).Chỉ truyền ArrayList làm giá trị và không tham chiếu
Mọi thứ tôi đã thử không đạt được hiệu quả mong muốn. Tôi cần phải làm gì để tôi có thể sử dụng bản sao của ArrayList trong chỉ phương thức, nhưng không có nó thay đổi biến thực sự?
Bạn có thể vượt qua [ 'Collections # unmodifiable (yourList)'] (http://docs.oracle.com/javase/7/docs/api/java/util/ Collections.html # unmodifiableList (java.util.List)) để gửi một bản sao không thể sửa đổi của danh sách của bạn. –
Bạn cũng có thể tạo một bản sao mới của 'ArrayList' trong phương thức đang sửa đổi nó. Mặc dù nó sẽ không ảnh hưởng đến 'ArrayList' đầu tiên, bất kỳ đối tượng nào bạn thay đổi bên trong sẽ vẫn bị thay đổi ... – MadProgrammer
Bạn chỉ sửa đổi danh sách? Hoặc cũng có gì bên trong danh sách? –