每天记一点

先看一段代码 功能是-------拆list 然后调用dozer mapping


protect static <D,S> void mapperList(List<D> dest, List<S> source){

D d = dest.get(0); //因为传入的source由于是个刚初始化的List对象,无法获取到其具体类型,需要调用者硬塞一个成员.
for(S s: source){
dest.add(this.mapperIf(s,d));
}

}
}


写成上面这样,主要原因可能是错误地认为泛型可以向下面这样用


T instantiateElementType(List<T> arg)
{
return new T(); // 这里当然会挂,属于编译期和运行期都不知道是啥类型
}




所以就有了比上面稍稍优雅的一段...
你不是拿不到类型么,我给你一个类型

protect static <D,S> List<D> mapperList(List<S> source, Class<D> destType){

List<D> retTOs= new ArrayList<D> ();
for(S s: source){
dest.add(this.mapperIf(s,d));
}
return retTOs;
}



你要什么我给你什么,对症下药,永远是最简单有效的方法.但前提是你想治.


能用就行的哲学似乎很流行的样子.....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值