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
}
Nous avons la classe ci-dessus. Il contient un objet d'autres classes et des méthodes get/set comme indiqué ci-dessus. Nous analysons un fichier XML et créons un tableau de classe ServersList. Par exemple,création d'objet 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());
}
Notre problème est après la boucle toutes les valeurs du tableau serversArray seront même (peut-être avec le dernier élément dans le fichier XML). Lors du débogage, je comprends que, à chaque itération, la valeur de chaque ligne change les valeurs de la ligne courante. Pouvez-vous suggérer une solution pour cela?
devrait-il pas être serversArray [index] = new ServersList(); ? –
lorsque vous affectez le nouvel objet à chaque élément, le résultat sera le même. – Ankit
vous devez également publier le code où vous remplissez l'objet 'ServersList'. – Azodious