我试图将列表中对象内的属性映射到数组,我想知道我是否可以在没有自定义转换器的情况下执行此操作。
public class Kid(){
List<Toy> toys;
}
public class Toy(){
String name;
String brand;
}
public class ConvertedKid(){
String[] toysNames;
}
在mapper.map(aKid,ConvertedKid.class)之后,我想将只有名字的convertKid.toysNames转换为字符串数组。
任何人都可以帮我吗?谢谢!
答案 0 :(得分:0)
正如您所说,您可以使用自定义转换器。
我找到的另一个解决方案是覆盖玩具的toString()方法。
玩具类
public class Toy{
String name;
String brand;
// getters and setters ...
@Override
public String toString() {
return this.name;
}
}
<强>映射强>
<mapping>
<class-a>xxx.xxx.Kid</class-a>
<class-b>xxx.xxx.ConvertedKid</class-b>
<field>
<a>toys</a>
<b>toysNames</b>
</field>
</mapping>
我测试了它。它有效。