gpt4 book ai didi

java - 如何编写 Helper 类以在 Java 中将类相互映射?

转载 作者:行者123 更新时间:2023-11-29 03:42:05 25 4
gpt4 key购买 nike

一时之间有个疑问。假设我们有以下类:

public Class Person{
String name;
String address;
String description;
}

public Class PersonFacade{
String name;
String address;
String desc;
}

如您所见,这两个类之间的唯一区别是一个变量的名称。我的问题是编写辅助类以将一个对象的值映射到另一个对象的最佳方法是什么。假设我们有以下内容:

Person person = new Person();
person.name="name1";
person.address="address1";
person.description="description1";

我想编写一个应该执行以下操作的类(我们称它为 Transformer 类)

PersonFacade personFacade = new PersonFacade();
TransformClass.transformFrom(person, personFacade);

我希望这个 TransformClass.transformFrom() 方法执行以下操作:

根据变量名的相似度,将变量的值从“FromClass”赋值给“ToClass”所以在我们的例子中,我希望它分配 personFacade.name = "name1"personFacade.address="adderss1"personFacade.desc = "description1" (这最后一个似乎更难完成,但让我们试试)

有什么想法吗?

最佳答案

您可以使用Dozer:

Dozer is a Java Bean to Java Bean mapper that recursively copies data from one object to another. Typically, these Java Beans will be of different complex types.

Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level.

看看这个:http://dozer.sourceforge.net/

这是一个很棒的 JavaBean 映射器。

这里是“入门”:

http://dozer.sourceforge.net/documentation/gettingstarted.html

关于java - 如何编写 Helper 类以在 Java 中将类相互映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12697964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com