类属性复制实现
来源:互联网 发布:google浏览器 for mac 编辑:程序博客网 时间:2024/05/01 11:29
- 实现功能
a. 不同java 对象之间相同属性值的拷贝 - 引用第三方jar再次外包装进行实现(commons-beanutils)
<groupId>commons-beanutils</groupId> <artifactId>commons-beanutils</artifactId> <version>1.9.2</version> </dependency>
- 实现源代码
import java.util.ArrayList;import java.util.Collection;import java.util.HashSet;import java.util.List;import java.util.Set;import org.apache.commons.beanutils.BeanUtils;public class BeanAdapter<T,E> { private T destType; public BeanAdapter(T destType){ if(destType == null){ throw new NullPointerException(); } this.destType = destType; } public List<T> copyProperties2List(Collection<? extends E> origElements) throws Exception{ List<T> destList = new ArrayList<T>(); if(origElements == null || origElements.size() == 0){ return destList; } return (List<T>) copyProperties(destList,origElements); } public Set<T> copyProperties2Set(Collection<? extends E> origElements) throws Exception{ Set<T> destSet = new HashSet<T>(); if(origElements == null || origElements.size() == 0){ return destSet; } return (Set<T>) copyProperties(destSet,origElements); } private Collection<T> copyProperties(Collection<T> dest,Collection<? extends E> origElementList) throws Exception{ for (E element : origElementList) { @SuppressWarnings("unchecked") T destObject = (T) destType.getClass().newInstance(); BeanUtils.copyProperties(destObject, element); dest.add(destObject); } return dest; }}
- 实现的反思
- T destType 定义是否是必须定义
T destObject = (T) destType.getClass().newInstance();
是为了创建具体的目的对象而用
2. 返回不同的Collection< T > 是否有必要在接口内部进行强制的定义,通过外部依赖的方式是不是更好
prublic Collection<T> copyProperties(Collection<T> dest,Collection<? extends E> origElementList)
0 0
- 类属性复制实现
- 实现两个实体类属性之间的复制
- Dozer轻松实现对象间属性复制
- Dozer轻松实现对象间属性复制
- 对象属性复制工具类
- 属性复制
- 天易41----java实现两个实体类属性之间的复制
- C#利用反射实现两个类的对象之间相同属性的值的复制
- java对象复制和属性值复制工具类
- Java利用反射实现对象之间相同属性复制
- Java -- 利用反射实现对象之间相同属性复制BeanUtil
- 两个相似类属性快速复制
- Android 属性拷贝,属性复制的工具类
- javabean 属性复制
- JAVA对象属性复制
- java对象属性复制
- 深度复制对象属性
- 反射复制属性
- 用JavaScript解决Placeholder的IE8兼容问题
- Java强引用、 软引用、 弱引用、虚引用
- 文本挖掘--将分词之后的文档转化为结构化的数据
- 彻底解决错误Duplicate files copied in APK xxx/xxx/xxx/LICENSE.txt
- jsp中使用s:if比较时间
- 类属性复制实现
- View设置背景渐变色(shape,gradient)
- Java泛型(一) 泛型的概念 基础
- Android仿美团团购详情页下拉图片放大效果,简单可直接用在项目中
- cf 540 C Ice Cave
- 关于delete和deletelater的问题
- Java并发编程:线程池的使用
- Objective-C 12 类别Category
- iOS集成极光推送,绕过一些坑