爲PropertyDescriptor
類國家getPropertyType
方法的Javadoc:
結果可能是「空」,如果這是一個索引屬性是不 支持非索引訪問。
索引屬性是那些由值數組支持的屬性。除了標準的JavaBean訪問器方法外,索引屬性還可以通過指定索引來獲取/設置數組中的各個元素。 JavaBean的,可能因此,有索引的getter和setter方法:
public PropertyElement getPropertyName(int index)
public void setPropertyName(int index, PropertyElement element)
除了標準的getter和setter非索引訪問:
public PropertyElement[] getPropertyName()
public void setPropertyName(PropertyElement element[])
,打算到Javadoc中的描述,如果你省略非索引訪問器,您可以獲得屬性描述符的屬性類型的返回值null
。
所以,如果你有以下品種一個JavaBean,你可以得到一個空的返回值:
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;
}
}
注意,而你可以單獨實現索引的屬性訪問,但不建議這樣做因此,如果您碰巧使用PropertyDescriptor
的getReadMethod
和getWriteMethod
方法,則使用標準訪問器讀取和寫入值。