11

BeanUtils が単一のオブジェクトを他のオブジェクトにコピーできることを知っています。

アレイリストをコピーすることは可能ですか?

例えば:

 FromBean fromBean = new FromBean("fromBean", "fromBeanAProp", "fromBeanBProp");
 ToBean toBean = new ToBean("toBean", "toBeanBProp", "toBeanCProp");
 BeanUtils.copyProperties(toBean, fromBean);

これを達成する方法は?

List<FromBean > fromBeanList = new ArrayList<FromBean >();  
List<ToBean > toBeanList = new ArrayList<ToBean >();  
BeanUtils.copyProperties(toBeanList , fromBeanList );

それは私のために働いていません。誰でも私を助けてください。

前もって感謝します。

4

8 に答える 8

16

リストの起点にデータがあり、リストの宛先が空の場合、解決策は次のとおりです。

    List<Object> listOrigin (with data)
    List<Object> listDestination= new ArrayList<Object>(); 

     for (Object source: listOrigin ) {
        Object target= new Object();
        BeanUtils.copyProperties(source , target);
        listDestination.add(target);
     }
于 2015-05-14T11:19:29.103 に答える
8

同じサイズのリストが 2 つある場合は、次のことができます。

for (int i = 0; i < fromBeanList.size(); i++) {
     BeanUtils.copyProperties(toBeanList.get(i), fromBeanList.get(i));
}
于 2013-10-11T07:08:08.583 に答える
1

あなたはこのようなことを試すことができます

for(int i=0; i<fromBeanList.size(); i++){
  BeanUtils.copyProperties(toBeanList.get(i) , fromBeanList.get(i) );
}

お役に立てれば..

おっと、それはすでに誰かによって説明されています..

とにかくやってみる。

于 2013-10-11T07:10:47.710 に答える
0

BeanUtils.copyProperties、同じ名前のプロパティのみをコピーします。したがって、ArrayList の場合、それはできません。

ドキュメントによると:

プロパティ名が同じ場合は常に、元の Bean から宛先 Bean にプロパティ値をコピーします。

于 2013-10-11T07:03:58.687 に答える