有時我們需要在調試過程中顯示bean的當前數據,利用reflect可以快速的對大量的bean對象進行統一的處理,下面的代碼就實現了將數據提出的公共方法。當然也可以使用其它開源庫,但是爲什麼我們自己不瞭解一下呢!
public void ShowFileds(Object obj)
{
System.out.println("Target class is "+ obj.getClass().getName());
try{
String ClassName = obj.getClass().getName();
Class cls = Class.forName(ClassName);
Method[] methods = cls.getDeclaredMethods();
for(int i =0; i< methods.length; i++)
{
Method method = methods[i];
String mName = method.getName();
if(mName.substring(0, 3).equals("get"))
{
System.out.println(mName.substring(3, mName.length())+ " : " + method.invoke(obj, null));
}
}
}catch(Exception e)
{
e.printStackTrace();
}
}
以上方法沒有針對特定的Bean,而是自動解析任何符合要求的Bean對象,並對其進行域顯示!