J'essaie d'ajouter des choses à un chariot, donc dans ma classe de produit a fait un chariot comme:
shoppingCart.add(temp);
4 Réponses :
shoppingcart code> est de type
arraylist
shoppingcart code> à une liste
> code> ou si vous souhaitez ajouter toutes les entrées l'une après l'autre à la liste que vous devez réécrire
ShoppingCart.add (TEMP); code> à
shoppingcart.addall (TEMP); code>. p>
Votre ShoppingCart code> est une liste de chaînes, ce qui signifie que chaque élément que vous souhaitez mettre en place devrait être une chaîne.
Votre TEMP code> n'est pas une chaîne, c'est aussi une gamme de chaîne, de sorte qu'il ne peut pas fonctionner.
Si votre définition de TEMP est vraiment ce que vous voulez, la définition de
shoppingcart code> devrait être:
Le problème se produit parce que vous essayez d'ajouter une liste Pour résoudre ce problème, je suggère de créer une nouvelle classe appelée article par exemple, qui sera le type de votre p> instance code> p> alors, votre ShoppingCart sera une arraylist code> d'éléments p> et vous devez modifier votre méthode addtobasket comme suit p> list
acuisierCart code> de type
arraylist
public void addToBasket(String barcode, double price, int quantity) {
Item temp = new Item(barcode,price,quantity);
shoppingCart.add(temp);
}
J'ai travaillé et mis en œuvre cela, mais je continue à obtenir une erreur NullPointerException sur la ligne ShoppingCart.Ajouter (TEMP). Est-ce parce que j'ai placé le constructeur?
En effet, votre liste code> shoppingcart code> est vide, vous devez en créer une nouvelle instance avant de commencer. Ajoutez ceci: shoppingcart = nouveau arraylist <élément> (); code>
Veuillez accepter ma réponse en cliquant sur la coche de la gauche de ma réponse, vous pouvez uppouver si vous voulez aussi :) merci
comme correctement @bashir a signalé, vous ajoutez des types code> différents code> de variables à un type spécifique de la liste Je voudrais Pour expliquer un couple d'abord, au lieu de copier-coller la solution L'objet Il ne vous permet pas Votre travail autour, c'est de le convertir en une chaîne code> de code> et de l'ajouter à la liste Bref Exemple: p> Disons que vous obtenez le tableau ArrayList
code > de cette instance
arraylist
code> à son
ajoutez () code> méthode. P>
Ajouter code> le prix code> ainsi que la quantité
code> car
TEMP code > Est-ce qu'un
arraylist
ArrayListe
ArrayList
Programmation orientée objet Code>. P>
ArrayList
imbriqué
ArrayList<String> itemDetails = shoppingCart.get(0);
String details[] = new String[3];
details[0]=itemDetails.get(0);//barcode
details[1]=itemDetails.get(1);//price
details[2]=itemDetails.get(2);//quantity
Merci pour cette explication! Il est très clair et bien écrit! Je comprends, mais je continue à obtenir une erreur NullPointerException dans le fichier de panier.
Probablement parce que vous essayez de récupérer une valeur d'un index code> qui n'en a pas, assurez-vous de créer un
nouvelle arrayliste <> () code> et récupérez correctement les éléments.
Vous approchez-vous de la mauvaise manière. Vous devez avoir une classe spécifique pour maintenir le prix et la quantité de code à barres, puis votre liste doit contenir des objets de cette classe. Si vous insistez sur l'utilisation d'une liste de chaîne, utilisez
shoppingcart.addall (TEMP) code> à la place mais je vous conseille fortement contre elle
Partagez le code de votre classe de produit