JavaScript is required

Đoạn code sau đây in ra gì?

Object[] names = new String; names = new Integer(0);

Chọn một:

A.

ArrayIndexOutOfBoundsException

B.

ArrayStoreException

C.

Compilation error

D.

Code runs successfully

Trả lời:

Đáp án đúng: B


Đoạn code này sẽ gây ra lỗi `ArrayStoreException` khi chạy. Lý do là vì bạn đang cố gắng gán một đối tượng `Integer` vào một mảng `Object[]` mà thực tế được khởi tạo để chứa các đối tượng `String`. Mặc dù `Integer` là một `Object`, nhưng mảng đã được khai báo với kiểu cụ thể hơn (dù không tường minh lúc khai báo, nó được xác định ngầm qua `new String`), và Java sẽ kiểm tra kiểu khi gán để đảm bảo tính an toàn kiểu. Do đó, việc gán `new Integer(0)` vào `names` sẽ gây ra `ArrayStoreException`.

Câu hỏi liên quan