已知一个对象,用反射的方式复制另一个对象
2015-06-07 22:01
441 查看
public static void main(String[] args) throws Exception {
//假设我们不知道这个对象是什么,所以用object引用,为了省事,就不写po类了,直接用了java.util.Date
Object o = new Date();
Object o2 = o.getClass().newInstance();
//遍历所有成员变量
for(Field f : o.getClass().getDeclaredFields()) {
//如果是final成员就跳过
if(Modifier.isFinal(f.getModifiers()))continue;
//设置成员变量访问权
f.setAccessible(true);
//设置成员变量内容
f.set(o2, f.get(o));
}
System.out.println(o.equals(o2));
}
//假设我们不知道这个对象是什么,所以用object引用,为了省事,就不写po类了,直接用了java.util.Date
Object o = new Date();
Object o2 = o.getClass().newInstance();
//遍历所有成员变量
for(Field f : o.getClass().getDeclaredFields()) {
//如果是final成员就跳过
if(Modifier.isFinal(f.getModifiers()))continue;
//设置成员变量访问权
f.setAccessible(true);
//设置成员变量内容
f.set(o2, f.get(o));
}
System.out.println(o.equals(o2));
}
相关文章推荐
- android中 ImageView scaleType属性
- 排序算法(1):简单选择排序和堆排序
- Jquery-pagination.js分页处理
- 【转】Twitter Storm如何保证消息不丢失
- 字符串逆序输出
- qtsdk仓库中国镜像
- 安装keepalived 报错`install' is up to date
- SuperSlide的使用
- 【重构】dll文件是什么
- ThinkPHP3.2使用PHPMailer发送邮件
- [php] 静态方法 接口 链式操作
- 【转】Twitter Storm: 在生产集群上运行topology
- 第九篇 SQL Server代理了解作业和安全
- 【树链剥分】专题小结
- 第二段冲刺进程2
- 第二段冲刺进程2
- Storm一个executor里运行多个task是为了rebalance
- wxpython生成的一个简单数据表格操作界面
- 正则表达式提取html内容
- ashrpt.sql