Java 泛型取值
2019-04-26 本文已影响0人
暗夜行者
实现功能为任意类型的对象进入,取出其filed内的值,取值想到了反射和内省,但是apache的beanUtils 真的很好用:
import org.apache.commons.beanutils.BeanUtils;
private <T>String[] getValues(Collection<T> datalist,String field) {
List<String> stringList = new ArrayList<T>();
datalist.forEach(t-> {
try{
stringList.add(BeanUtils.getProperty(t,field));
}catch(IllegalAccessException | InvocationTargetException | NoSuchMethodExceptione2) {
log.error("Exception happen when get values : {} ", e2);
}
});
return stringList.toArray(new String[stringList.size()]);
}
这里注意list转string的方式