class Test {
public static void main(String[] args) throws Exception {
Test t = new Test();
System.out.println(t.field);
System.out.println(t.getClass().getField("field").get(t));
int[] ar = new int[23];
System.out.println(ar.length);
System.out.println(ar.getClass().getField("length").get(ar));
}
public int field = 10;
};
Khi tôi chạy đoạn mã trên, tôi nhận được kết quả sau trên dòng lệnh -Bắt trường "chiều dài" trong một mảng Java sử dụng phản ánh
10
10
23
Exception in thread "main" java.lang.NoSuchFieldException: length
at java.lang.Class.getField(Class.java:1520)
at Test.main(Test.java:9)
Tại sao tôi không thể truy cập trường "chiều dài" trong mảng?
Nó cũng có thể là một lỗi trong JLS;) Nhưng nó chắc chắn là lạ. – brimborium