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. Например,создание java-объекта
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());
}
Наша проблема после того, как цикл все значения массива serversArray будет таким же (может быть с последним элементом в XML). Во время отладки я понимаю, что при каждой итерации значение каждой строки меняет значения текущей строки. Можете ли вы предложить решение для этого?
Если не было бы serversArray [индекс] = новый ServersList(); ? –
, поскольку вы назначаете новый объект каждому элементу, результат будет таким же. – Ankit
вы также должны указать код, в котором вы заполняете объект 'ServersList'. – Azodious