java 通过泛型创建对象

百度一下啥也没有,先看看这个吧 

java 根据泛型创建对象,实例化泛型对象_Sirius的博客-CSDN博客_泛型创建对象实例化泛型对象在你发布的代码中,不可能创建一个泛型T,因为你不知道它是什么类型:public class Abc<T>{ public T getInstanceOfT() { // There is no way to create an instance of T here // since we don...https://blog.csdn.net/qq_21460229/article/details/104351684

老实说我没看懂

换个思路,传入demo,或者class

    public static <T> void toIPageVo(IPage foIPage, IPageVo<T> iPageVo,T voDemo) throws InvocationTargetException, IllegalAccessException {
        List foList = foIPage.getRecords();
        List toList = new ArrayList<T>();
        for (Object foRecord : foList) {
            T vo=null;
            try {
               vo  = (T) voDemo.getClass().newInstance();
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            BeanUtilImpl.copyToVo(vo,foRecord);
            toList.add(vo);
        }

        iPageVo.setRecords(toList);
        iPageVo.setCurrent(foIPage.getCurrent());
        iPageVo.setSize(foIPage.getSize());
        iPageVo.setTotal(foIPage.getTotal());
        iPageVo.setPages(foIPage.getPages());
    }
    public static <T> void toIPageVo(IPage foIPage, IPageVo<T> iPageVo,Class clazz) throws InvocationTargetException, IllegalAccessException {
        List foList = foIPage.getRecords();
        List toList = new ArrayList<T>();
        for (Object foRecord : foList) {
            T vo=null;
            try {
                vo  = (T) clazz.newInstance();
            } catch (InstantiationException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
            BeanUtilImpl.copyToVo(vo,foRecord);
            toList.add(vo);
        }

        iPageVo.setRecords(toList);
        iPageVo.setCurrent(foIPage.getCurrent());
        iPageVo.setSize(foIPage.getSize());
        iPageVo.setTotal(foIPage.getTotal());
        iPageVo.setPages(foIPage.getPages());
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值