2012-10-01 51 views
1

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

public class Kid(){ 
    List<Toy> toys; 
} 
public class Toy(){ 
    String name; 
    String brand; 
} 
public class ConvertedKid(){ 
    String[] toysNames; 
} 

mapper.map(AKID,ConvertedKid.class)之后,我想有convertedKid.toysNames为字符串只与它的名字的数组。

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

回答

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> 

我测试。有用。