我想檢索Java類中給定屬性的所有訪問器。我嘗試了一些東西,但它沒有給出我期待的輸出。對於如:如何獲取類中屬性的所有訪問器方法?
public class demo {
private String abc;
public String getAbc() {
return abc;
}
public void setAbc(String abc) {
this.abc = abc;
}
public String fetchAbc() {
return abc;
}
}
這裏,abc
屬性有兩個干將,我想找到有OCCURENCES在我的項目。我想下面的代碼,它使用BeanInfo的API,但它給了我只有一個訪問:
import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
public class BeanDemo {
public void myMethod() throws IntrospectionException {
BeanInfo beanInfo = Introspector.getBeanInfo(demo.class);
for (PropertyDescriptor property : beanInfo.getPropertyDescriptors()) {
//all attributes of class.
property.getReadMethod(); // getter
property.getWriteMethod(); // setter
}
}
}
誰能告訴,如果有,可以用來完成此另一個API?我可以玩反思,但這不是正確的方式。謝謝。
真的嗎?反思不正確的方式? – Ankit
您正在使用「訪問者」這個術語的更廣泛的定義。BeanInfo API依賴於某些約定,並將訪問者定義爲遵循特定命名模式和簽名(又名getXXX,其中XXX是所討論的屬性)的方法。要做你正在嘗試的東西,你需要一些形式的靜態分析(使用像PMD這樣的工具)。 – Perception
@ ay89 ...我需要檢查返回類型的每種方法,在這種情況下,我想 – Cycorax12