 悬赏园豆:20
                [待解决问题]
                悬赏园豆:20
                [待解决问题] 
            
                 
        这是工具类
public class FactoryBeanUtil {
/**
 * 将源对象属性值赋给目标对象属性
 *
 * @param src
 * @param clazz
 * @param <T>
 * @return
 * @throws Exception
 */
 public static <T> T copyProperties(Object src, Class<T> clazz) {
 if (src == null)
 return null;
T target = BeanUtils.instantiate(clazz);
 BeanUtils.copyProperties(src, target);
return target;
 }
 
 /**
 * 将源list集合对象属性值赋给目标list集合对象属性
 *
 * @param src
 * @param clazz
 * @param <T>
 * @return
 * @throws Exception
 */
 public static <T> List<T> copyPropertiesList(List<Object> src, Class<T> clazz) {
 if (src == null)
 return null;
 
 List<T> list = new ArrayList<T>();
 Iterator iterator = src.iterator();
 while(iterator.hasNext()){
 list.add(copyProperties(iterator.next(), clazz));
 }
 
 return list;
 }
}
当如此调用的时候回报错
FactoryBeanUtil.copyPropertiesList(list, OpNewsDTO.class);
报错:
The method copyPropertiesList(List<Object>, Class<T>) in the type FactoryBeanUtil is not applicable for the arguments (List<OpNewsDO>, Class<OpNewsDTO>)
系统建议我转换成这个样子
:public static <T> List<T> copyPropertiesList(List<OpNewsDO> list2, Class<OpNewsDTO> class1)
请问如何修改这个方法才可以使用
public static <T> List<T> copyPropertiesList(List<T> src, Class<T> clazz)
你的方法里也没使用src啊.
不好意思,代码写的有点问题,我改了。但是您说的这种方法还是不行。
我要做的是吧一个VO转换成另一个VO,但是是个list集合。所以写了写了下边这个方法。
@猿==猿: 那就是
public static <T,T2> List<T> copyPropertiesList(List<T2> src, Class<T> clazz)
这样吗?
Class<T> clazz
这个参数什么意义?只是传个类型吗?
为何不直接public static <T> List<T> copyPropertiesList<T>(List<T> src)
因为我要把List<OpNewsDO>,转化成List<OpNewsDTO> ,所以不能改成您说的这种方法。