public class RefMix {
public static void main(String[] args) {
Object[] a = {null, "foo"};
Object[] b = {"bar", b};
a[0] = b;
System.out.println(a[0][0]);
}
}
Hiểu biết của tôi là mảng là đối tượng trong Java và do đó là lớp con của loại đối tượng. Sự hiểu biết thêm của tôi là một mảng 2-dim được thực hiện như một mảng các tham chiếu đến các mảng. Vì vậy, tôi không hiểu tại sao [0] [0] của tôi không sản xuất bar
trong mã ở trên. Thay vào đó, nó không biên dịch:Loại đối tượng trong Java và mảng tham chiếu
RefMix.java:7: array required, but java.lang.Object found
Sự xấu xí của một diễn viên như thế này đã truyền cảm hứng cho tôi từ bỏ việc sử dụng các mảng như thế này; Tôi sẽ chỉ sử dụng lớp tham chiếu đối tượng "bình thường". Nhưng cảm ơn! – Fixee
@Fixee, mảng trong Java là khá xấu xí, nhưng bạn thường có thể tránh sự cần thiết cho phôi bằng cách giảm số lần bạn lưu trữ dữ liệu không đồng nhất. Bạn thường không cần lưu trữ cả chuỗi và đối tượng [] s trong cùng một mảng. – Antimony
@Antimony Tôi thực sự không thể tìm thấy một trường hợp sử dụng duy nhất mà bạn sẽ * cần * một thứ như vậy ...;) – brimborium