我有一个bean列表,现在我想更改列表中所有bean的属性值。例如:
class Person{
String name;
int age;
String attrXYZ;
/* accessors and mutators */
}
List<Person> lstPerson = getAllPersons();
//set the attribute attrXYZ of all persons in the list to 'undefined'
一种方法是迭代列表并调用setAttrXYZ ( 'undefined' );
--这就是我现在要做的事情。
我想知道是否有其他方法这样做。
发布于 2010-08-23 23:53:41
这是groovy这样的动态语言的优点,您可以这样做:
myList.each{ it.setAttrXYZ ( 'undefined' ) }
在java中,最短的方法是使用java 5循环或迭代器:
for(MyBean bean : list){
bean.setAttrXYZ ( "undefined" );
}
或
Iterator<MyBean> it = list.iterator();
while(it.hasNext()){
it.next().setAttrXYZ("undefined");
}
(这两者在内部几乎是一回事)
发布于 2010-08-23 23:28:03
不幸的是,即使使用反射,您也必须对列表进行迭代。因此,据我所知,没有其他解决办法。
https://stackoverflow.com/questions/3554263
复制