java泛型&bean copy list
阿新 • • 發佈:2019-01-03
instance war tac for throw int ons throws prop
參考:https://www.oracle.com/technetwork/cn/articles/java/juneau-generics-2255374-zhs.html
E:元素
K:鍵
N:數字
T:類型
V:值
S、U、V 等:多參數情況中的第 2、3、4 個類型
例子代碼:
public static <T,S> List<S> copyList(List<T> fromList,Class<S> toObj) { if (CollUtil.isEmpty(fromList)) { log.error("Utils-->copyList:fromList is null or have‘nt data");return null; } if (null == toObj) { log.error("Utils-->copyList:toObj is null"); return null; } List<S> toList = CollUtil.newArrayList(); fromList.forEach(f->{ S t = null; try { t = toObj.newInstance(); } catch (Exception e) { e.printStackTrace(); } BeanUtil.copyProperties(f, t); toList.add(t); });return toList; }
調用:
@Test public void testCopyList() throws Exception { List<DictDO> fromList = CollUtil.newArrayList(new DictDO("code1","name1"),new DictDO("code2","name2")); List<DictPojo> toList = Utils.copyList(fromList, DictPojo.class); Console.log("{},{}",toList.size(),CollUtil.isEmpty(toList));if (null != toList && toList.size()>0) { toList.forEach(d->{ Console.log(d); }); } }
輸出:
2,false
DictPojo(code=code1, name=name1)
DictPojo(code=code2, name=name2)
java泛型&bean copy list