JavaScript is required

Cho đoạn mã sau. Hãy cho biết kết quả của st1[2] khi thực thi đoạn lệnh trên?
String st1[] = {
"so1",
"so2",
"so3"
};
String st2[] = st1;
st2[2] = "so4";

A.

so1

B.

so2

C.

so3

D.

so4

Trả lời:

Đáp án đúng: D


Đoạn mã tạo một mảng chuỗi `st1` gồm ba phần tử: "so1", "so2", "so3". Sau đó, gán `st2` bằng `st1`. Điều này không tạo ra một bản sao mới của mảng, mà chỉ tạo ra một tham chiếu khác đến cùng một mảng trong bộ nhớ. Khi `st2[2]` được gán bằng "so4", giá trị của phần tử thứ ba trong mảng ban đầu (mà cả `st1` và `st2` cùng tham chiếu đến) sẽ thay đổi. Do đó, `st1[2]` cũng sẽ là "so4".

Câu hỏi liên quan