/**
* 拼接id+" "+ name
* @param list 处理对象集合
* @param map 字段map对象,开始只有key,通过反射添加value
* @return
*/
public static <T> ArrayList<String> getIdAppendName(List<T> list,Map<String,String> map){
ArrayList<String> items = new ArrayList<String>();
if(list == null){
return items;
}
for(T t:list){
getReflectValue(t,map);
Set<Entry<String,String>> map_set=map.entrySet();
String idandname="";
for(Entry<String,String> entry:map_set){
idandname+=entry.getValue()+" ";
}
items.add(idandname.trim());
}
return items;
}
/**
*
* @param instance 反射对象
* @param fieldMap 反射对象字段,通过这个字段获取值
*/
private static void getReflectValue(Object instance,Map<String,String> fieldMap){
if(fieldMap==null){
return ;
}
Method method =null;
try {
Class<?> tclass=instance.getClass();
for(Class<?> clazz = tclass; clazz != Object.class ; clazz = clazz.getSuperclass()) { //包括继承的父对象
Set<Entry<String,String>> map_set=fieldMap.entrySet();
for(Entry<String,String> entry:map_set){
String fieldKey=entry.getKey();
fieldKey=fieldKey.substring(0,1).toUpperCase()+fieldKey.substring(1);
method =clazz.getDeclaredMethod("get"+fieldKey) ;
Object val=method.invoke(instance);
entry.setValue(val+"");
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
List<QueryFundInfoResult> list=new ArrayList<QueryFundInfoResult>();
QueryFundInfoResult queryFundInfoResult=new QueryFundInfoResult();
queryFundInfoResult.setFundCode("001001");
queryFundInfoResult.setFundName2("测试基金一");
QueryFundInfoResult queryFundInfoResult2=new QueryFundInfoResult();
queryFundInfoResult2.setFundCode("001002");
queryFundInfoResult2.setFundName2("测试基金二");
list.add(queryFundInfoResult);
list.add(queryFundInfoResult2);
Map<String,String> map=new HashMap<String,String>();
map.put("fundCode", "");
map.put("fundName2", "");
System.out.println(getIdAppendName(list,map));
// getReflectValue(queryFundInfoResult,map);
// System.out.println(map);
}
转载于:https://my.oschina.net/v512345/blog/889776