Bonjour,


Voici le code du problème, je vous expliquerais le problème juste après :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
static int ordiPrend2(Joueur joueur, Carte milieu) {
int Couleur = milieu.getCouleur();
Vector<Carte> main = joueur.getMain();
System.out.println(" nbCartes "+main.size());
for(int i=0;i<main.size();i++)
	if(main.get(i).getCouleur()!=couleurAtout)
	{
		main.remove(i);
		i--;
	}
 
System.out.println("Test taille main : "+joueur.getMain().size());
En faisant ceci je pensais que "main" allait etre affectée par le remove, mais pas "joueur.getMain()". Hors c'est ce qui se passe.

J'ai essayé de faire une copie de "joueur.getMain()" dans "main" et de faire les remove sur "joueur.getMain()" et à la fin de réaffecter "main" dans "joueur.setMain()", mais cela ne fonctionne pas, "main" étant tout de meme affecté.


Connaitriez-vous l'origine du problème ??

Merci d'avance.