Bonjour,

J'explique : j'ai une liste de produits dans un Set , et un utilisateur peut ajouter un produit à son panier , panier qui est en faite aussi un Set de produit.

Ajout d'un article au panier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
// a product has been choosed , we send the shopping cart page
 
		for(Product prod:products)
		{
			if(prod.getId()==selectedProd)//we find the selected Prod
			{
				  cartProducts.add(prod);
			}
		}
où cartProducts est un Set et prod est un Produit de mon Set de produits

Tout fonctionne bien mais maintenant je désire testé si l'élément s'y trouve déjà où non. Si il s'y trouve , j'incrémente la quantité.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
// a product has been choosed , we send the shopping cart page
 
		for(Product prod:products)
		{
			if(prod.getId()==selectedProd)//we find the selected Prod
			{
				if(cartProducts.contains(prod))
				//if we already added it in our cartShop
				{
					for(Product myProd:cartProducts)
					{//We get it and increment the qty
						if(myProd.getId()==prod.getId())
						{
							myProd.setQuantity(myProd.getQuantity()+1);
							System.out.println(myProd.getQuantity() + " " + prod.getQuantity());
						}
					}
				}
				else
				  cartProducts.add(prod);
			}
		}
Il se trouve qu'après ceci , aussi bien myProd.getQuantity() que prod.getQuantity() retourne la même valeur..

Comment puis-je faire pour change l'état d'un sans modifier l'autre?

Merci d'avance à vous.