0

我有一个复杂的对象层次结构,它有几个扩展。

类一 { 字符串名称;颜色颜色;列出衣服;}

类二扩展一{测试测试;}

Foo类{一一;二二;}

我想将 One 类对象的所有属性复制到另一个类的新对象中。这该怎么做 ?有没有可用的图书馆?

4

4 回答 4

4

这里有一对:

推土机速度非常快,并且有很多配置选项。Orika 据说速度非常快,尽管我没有不雅地证实这一点(查看他们在其网站上发布的基准)。

于 2012-04-18T18:54:07.330 回答
3

Dozer是一个 Java Bean 到 Java Bean 的映射器,它递归地将数据从一个对象复制到另一个对象。

您可以使用注释或 XML 以编程方式定义用于复制对象字段的映射。

于 2012-04-18T18:40:57.743 回答
2

嗯,我用过 orika 和 dozer,我可以说 orika 在我的项目中比 dozer 在更换后至少快 10 倍。而且 orika 需要更少的 jvm 堆内存。orika 更快是因为它将映射规则编译为运行时 java 类来执行属性映射,而不是在运行时查看映射规则并使用 java 反射在运行时获取和设置属性值。

于 2012-08-28T14:32:17.783 回答
1

还有一个比 Orika 更快的框架,看看那里 - http://inspire-software.com/confluence/display/GeDA/Benchmarks

我对一个类中的 4 个字段和 1000000 次复制操作进行简单测试,GeDA 用了 100 毫秒,Orika 用了 1000 毫秒,Dozer 用了 4000 毫秒

于 2013-07-15T09:24:49.043 回答