我有两个类,其中一个类包含一个 ArrayList,其中的项目已添加到购物车,另一个类则打印购物车中的项目。由于 ArrayList 是私有的,我使用 getter 从 ArrayList 获取产品并在 GUI 类中打印它们,但它什么也没返回。
到目前为止我的实现是,CartGUI.java
public void printCart() {
ShoppingCart shoppingCart = new ShoppingCart();
System.out.println("Products in cart: ");
for (Product p : shoppingCart.getCart()) {
System.out.println(p.getProductName());
}
}
ShoppingCart.java
private ArrayList<Product> cart = new ArrayList<>();
public ArrayList<Product> getCart() { return cart; }
我测试了一下ArrayList是否为空,但事实并非如此。 如果 ArrayList 设置为静态,我的代码似乎可以工作,但这不是要求。
在您的
PrintCart()
方法中,您的 ShoppingCart 对象使用具有空产品 ArrayList 的购物车进行实例化。在开始循环之前,您需要用设置器填满该购物车。