public class ServersList {
private Host host;
private Server server;
private InfoList infoList;
private List<AbcInformation> abcInformation;
@XmlElement(name = "Host")
@JsonProperty("Host")
public Host getHost() {
return this.host;
}
//Get Set functions for all object
}
我们有上面的课程。它包含其他类的一些对象和 get/set 方法,如上所示。我们正在解析一个 XML 文件并创建一个 ServersList 类的数组。例如,
ServersList[] serversArray = new ServersList[count];
for (int index = 0; index < count; index++) {
serversArray[index] = new ServersList();
serversArray[index].setInfoList(serConfig
.getInfoList());
serversArray[index].setHost(serConfig
.getHost());
serversArray[index].setServer(serConfig
.getServer());
serversArray[index].getHost().setCid(
listResponse.getHost().get(index).getCid());
serversArray[index].getHost().setCName(
listResponse.getHost().get(index).getCname());
serversArray[index].getHost()
.setCurrentName(listResponse.getHost().get(index)
.getCurrentName());
serversArray[index].getHost().setHostName(listResponse.getHost().
get(index).getName());
serversArray[index].getHost().setHostUuid(
listResponse.getHost().get(index).getId());
}
我们的问题是在 for 循环之后,serversArray 数组的所有值都将相同(可能是 xml 中的最后一个元素)。在调试时我明白,每次迭代每行的值都会改变当前行的值。你能为此提出一个解决方案吗?