Các Javadoc cho phương pháp getPropertyType
của các trạng thái lớp PropertyDescriptor
:
Kết quả có thể là "vô giá trị" nếu đây là một tài sản được lập chỉ mục mà không hỗ trợ truy cập không được lập chỉ mục.
Thuộc tính được lập chỉ mục là những thuộc tính được hỗ trợ bởi một mảng giá trị. Ngoài các phương thức truy cập chuẩn JavaBean, các thuộc tính được lập chỉ mục cũng có thể có các phương thức để lấy/thiết lập các phần tử riêng lẻ trong mảng, bằng cách chỉ định một chỉ mục. Các JavaBean, có thể vì thế, có thu khí được lập chỉ mục và setters:
public PropertyElement getPropertyName(int index)
public void setPropertyName(int index, PropertyElement element)
ngoài các getter tiêu chuẩn và setter để truy cập không được lập chỉ mục:
public PropertyElement[] getPropertyName()
public void setPropertyName(PropertyElement element[])
Going by the Mô tả Javadoc, nếu bạn bỏ qua người truy cập không được lập chỉ mục, bạn có thể nhận được giá trị trả lại là null
cho loại thuộc tính của bộ mô tả thuộc tính.
Vì vậy, nếu bạn có một JavaBean của sự đa dạng sau đây, bạn có thể nhận được một giá trị trả về null:
class ExampleBean
{
ExampleBean()
{
this.elements = new String[10];
}
private String[] elements;
// standard getters and setters for non-indexed access. Comment the lines in the double curly brackets, to have getPropertyType return null.
// {{
public String[] getElements()
{
return elements;
}
public void setElements(String[] elements)
{
this.elements = elements;
}
// }}
// indexed getters and setters
public String getElements(int index) {
return this.elements[index];
}
public void setElements(int index, String[] elements)
{
this.elements[index] = elements;
}
}
Note, trong khi đó bạn có thể thực hiện các accessors tài sản được lập chỉ mục một mình, nó không được khuyến khích để làm vì vậy, khi các trình truy cập chuẩn được sử dụng để đọc và ghi các giá trị, nếu bạn tình cờ sử dụng các phương thức getReadMethod
và getWriteMethod
của PropertyDescriptor
.