java函数返回一个没有数据的arraylist

z9zf31ra  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(293)

当用户单击javafx中的按钮时,尝试将类的对象添加到对象的arralylist中。我正在尝试将类(产品)的对象添加到arraylist shoppinglist,它是产品的arraylist。在addtocart()函数中测试arraylist时,一切正常,但当程序返回main时,arraylist中没有数据
这里是我调用函数的主要部分

ArrayList<Product> shoppingList = new ArrayList<>();
    Button btnAddToCart = new Button("Add to cart");

  btnAddToCart.setOnAction(e->addToCart(productList,productBox,shoppingList));

这是函数

public ArrayList<Product> addToCart(ArrayList<Product> productList, ChoiceBox productBox, ArrayList<Product> shoppingList) {

    for(int x =0 ; x<productList.size();x++)
    {
        if(productList.get(x).getProductDescribtion() == productBox.getValue())
        {
            Product inCartProduct = new Product(productList.get(x).getProductCategory(),productList.get(x).getProductDescribtion(),
                    productList.get(x).getItemNumber(),productList.get(x).getInStockQty(),productList.get(x).getProductPrice() );

            System.out.println("Cart in for loop :>"+inCartProduct.toString());

            shoppingList.add(inCartProduct);

        }
    }
    for(Product onePr : shoppingList)
    {
       // System.out.println("Here in the cart : ");
        System.out.println("Cart in button function :> "+onePr.toString());
      //  System.out.println("The size of the cart : "+shoppingList.size());
    }

    return  shoppingList;
}
jhiyze9q

jhiyze9q1#

用于比较值 .equals(...) 而不是 == ```
if(productList.get(x).getProductDescribtion().equals(productBox.getValue()))

... 而不是

if(productList.get(x).getProductDescribtion() == productBox.getValue())

相关问题