gpt4 book ai didi

java - 为什么 Collections.Frequency 对我的集合返回零?

转载 作者:行者123 更新时间:2023-11-30 02:16:14 26 4
gpt4 key购买 nike

有人可以向我解释一下,为了将这些元素添加到我的库存数组列表中,我做错了什么吗?问题是当我用 Collections.frequency 检查某个商品的库存时它继续说该项目的数量为零。

private List<Food> inventory = new ArrayList<>();
private double balance = 100.00;

public void startingInv(){
addFoods(10, Food.HAMBURGER);
addFoods(10, Food.CHEESEBURGER);
addFoods(10, Food.HOTDOG);
addFoods(10, Food.SODA);
addFoods(10, Food.CHEESIEBOY);
addFoods(10, Food.WATER);
addFoods(10, Food.YEET);
}

上面是我尝试将不同类型的食物添加到库存数组列表中的方法(我已将其调用到我的 Food.java 类中)。

下面是上面代码中每次为每种食物调用的 addFoods 方法。

    public int addFoods(int amount, int type){
for (int i = 0; i < amount; i++){
this.inventory.add(new Food(type));
}
return Collections.frequency(inventory, type);
}

最佳答案

请注意what the API is actually doing here .

Returns the number of elements in the specified collection equal to the specified object. More formally, returns the number of elements e in the collection such that Objects.equals(o, e).

解决这个问题的方法:

  • 为您的 Food 类实现 equals
  • 实例化 Food 的实例,其中包含您想要的特定类型
  • 使用Collections.Frequency(inventory, instanceOfFoodYouCareAbout)

关于java - 为什么 Collections.Frequency 对我的集合返回零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48311710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com