java 分解arraylist中单个对象 的属性名与值

引用:http://hi.baidu.com/%CD%F5%C7%E7%CB%EF/blog/item/0791fbc89aa0c7e252664f8d.html

/**

* 获取对象属性,返回一个字符串数组    

* @param  o 对象

* @return String[] 字符串数组

*/

private String[] getFiledName(Object o)

{  

try 

{

Field[] fields = o.getClass().getDeclaredFields();

String[] fieldNames = new String[fields.length];  

for (int i=0; i < fields.length; i++)

{  

    fieldNames[i] = fields[i].getName();  

}  

return fieldNames;

} catch (SecurityException e) 

{

e.printStackTrace();

System.out.println(e.toString());

}

    return null;

}  

/**

* 使用反射根据属性名称获取属性值 

* @param  fieldName 属性名称

* @param  o 操作对象

* @return Object 属性值

*/

private Object getFieldValueByName(String fieldName, Object o) 

{    

   try 

   {    

       String firstLetter = fieldName.substring(0, 1).toUpperCase();    

       String getter = "get" + firstLetter + fieldName.substring(1);    

       Method method = o.getClass().getMethod(getter, new Class[] {});    

       Object value = method.invoke(o, new Object[] {});    

       return value;    

   } catch (Exception e) 

   {    

       System.out.println("属性不存在");    

       return null;    

   }    

}   

原文地址:https://www.cnblogs.com/sode/p/2528023.html