[英]How to get property names of a pojo class without public no-arg constructor?
我想要一個POJO屬性名稱的數組(或列表)。 我嘗試了commons-beanutil的BeanUtils.describe(obj)
,但是它需要一個對象實例。 但是,如果我只有那個類,而沒有公共的無參數構造函數,該怎么辦? 我無法使用clazz.newInstance()
生成對象。
我該如何解決? 是否有任何庫可以挖掘一個類並傳遞屬性名?
(我知道我可以使用反射來手動解析類結構,但是我正在尋找一個方便的庫)
謝謝。
Java具有反射實用程序的構建-您可以使用。 讓我們看看Class的Java文檔 。
例如,使用反射Demo.class.getMethods();
獲取名為Demo
的類的所有getter方法(無需實例化)。
List<Method> allGetterMethodsOfClassDemo() = new ArrayList<Method>();
for(Method method : Demo.class.getMethods()){
if(method.getName().startsWith("get") || method.getName().startsWith("is")) {
allGetterMethodsOfClassDemo.add(method);
}
}
我從來沒有使用過它(或者關於java.beans
任何東西),但是java.beans.Introspector.getBeanInfo(Class)
可能正是您想要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.