0
点赞
收藏
分享

微信扫一扫

一个copyList的Kotlin代码例子:

Fifi的天马行空 2022-06-11 阅读 152

一个copyList的代码例子:

​​#Kotlin#​​

/**
* 把S的列表copy到D的列表
*/
fun <S, D> copyList(sourceList: List<S>?, clazz: Class<D>): List<D>? {
if (null == sourceList || sourceList.size == 0) {
return null
}
val destList = ArrayList<D>()
sourceList.forEach {
val source = it
val dest = createInstance(clazz)
if (dest != null) {
BeanUtils.copyProperties(source, dest)
destList.add(dest)
}
}
return destList
}

private fun <T> createInstance(clazz: Class<T>): T? {
var obj: T?
obj = try {
clazz.newInstance()
} catch (e: Exception) {
logger.error("createInstance with exception: {}", e.message)
logger.error("exception: ", e)
null
}
return obj
}



举报

相关推荐

0 条评论