dozer - 将列表中的对象属性映射到数组

时间:2012-10-01 22:26:55

标签: list dozer

我试图将列表中对象内的属性映射到数组,我想知道我是否可以在没有自定义转换器的情况下执行此操作。

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转换为字符串数组。

任何人都可以帮我吗?谢谢!

1 个答案:

答案 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>

我测试了它。它有效。