Tôi muốn biết chi tiết cách Enhanced For Loop hoạt động trong Java (giả sử tôi hiểu cách sử dụng cơ bản của vòng lặp này và cách hoạt động chung) .Java Enhanced For Loop - Chỉnh sửa giá trị mảng gốc
Với đoạn mã sau:
String[] a = {"dog", "cat", "turtle"};
for (String s : a) {
out.println("String: " + s);
s = in.readLine("New String? ");
}
Nó không thực sự sửa đổi danh sách ban đầu 'a'. Tại sao không? Quản lý bộ nhớ hoạt động như thế nào? Không phải là 'một tham chiếu đến cùng một tế bào bộ nhớ của' a [i] '?
Tôi đọc trên tài liệu hướng dẫn tăng cường cho vòng không thể được sử dụng để loại bỏ các phần tử khỏi mảng ban đầu, điều đó có ý nghĩa. Có giống nhau cho việc sửa đổi các giá trị không?
Cảm ơn trước
Chuỗi là bất biến .. http://stackoverflow.com/a/8798424/112500 – Shashi
's' là một biến chứa tham chiếu đến phần tử của vùng chứa. –