public class Test{
public void setMembersValues(List list){
List<Member> memberList = new ArrayList<Member>();
for(Object o : list){
String[] str = o.split("n");
if(str.equalsIgnoreCase("<member>")){
/**I want to create separate member objects for each
list iterration.But member refers same object.**/
Member member = new Member();
for(int i =0; i<str.length;i++){
if(str[i].equalsIgnoreCase("<member/>")){
memberList.add(member);
break;
}else{
if(str[i].equalsIgnoreCase("name"))
member.setName(str[i].split("//")[1]);
}else if(str[i].equalsIgnoreCase("Address")){
member.setAddress(str[i].split("//")[1]);
}
}
}
}
}
}
此处有两个列表,但只创建一个成员对象。我想为每个迭代创建单独的成员对象并将其添加到 memberList。
请问我该怎么做?
我想为每个迭代创建单独的成员对象并将其添加到 memberList。
每次绕过内部循环时,都需要创建一个新对象。 您将在循环外部创建单个Member
,并将其多次添加到列表中。
您可以在 for 循环中移动您的成员实例化:
for(int i =0; i<str.length;i++){
if(str[i].equalsIgnoreCase("<member/>")){
memberList.add(member);
Member member = new Member();
break;
[已编辑]