2
我寫了使用Java內部檢查的方法,但我發現,當二傳手/ getter方法是靜態這是行不通的!java Introspector沒有找到靜態屬性或實際上靜態的getter/setter方法?
public class Bean {
public static String foo;
public String bar;
public static String fooBar;
public static String getFoo() {
return foo;
}
public static void setFoo(String foo) {
Bean.foo = foo;
}
public String getBar() {
return bar;
}
public void setBar(String bar) {
this.bar = bar;
}
public String getFooBar() {
return fooBar;
}
public void setFooBar(String fooBar) {
Bean.fooBar = fooBar;
}
}
而且
public static void main(String[] args) throws Exception {
BeanInfo beanInfo = Introspector.getBeanInfo(Bean.class);
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for(PropertyDescriptor propertyDescriptor : propertyDescriptors){
System.out.println(propertyDescriptor.getName());
}
}
上面運行的代碼返回爲如下:
bar
class
fooBar
它只返回欄和foorBar
這是否意味着內部檢查器沒有找到靜態屬性或實際上是getter/setter
方法?
謝謝你;是我的問題.. http://stackoverflow.com/q/40852452/294884相關? – Fattie