在 Java 中链接方法调用时遇到问题

Having trouble with chaining method calls in Java

我正在做一项作业,要求我调用 findInventoryItem 方法按部件号搜索项目,然后在另一个 class 中使用 getQuantity 方法来找到所述项目的数量。我无法将链接的概念放在一起。由于 findInventoryItem 方法的数据类型是一个对象,我如何获取要返回的对象的数量作为整数?

这就是我目前所拥有的,打算在 if 循环中添加一个非零数量的检查。

    public int numberInInventory(int partNumber)
{
    findInventoryItem(partNumber).getQuantity();



}

这是另一个 class 中的 getQuantity。

public int getQuantity()
{
    return quantity;
}

这是 findInventoryItem 方法。

public InventoryItem findInventoryItem(int searchPartNumber)
{
    int index = 0;
    while (index < items.size()){
        InventoryItem inventoryItem = items.get(index);
        int fetchedPartNumber = inventoryItem.getPartNumber();
        if(fetchedPartNumber == searchPartNumber){
            return inventoryItem; 
        }
        else{
            index++;
        }
    }
    return null;
}

您似乎只是不了解表达式的工作原理。

Since the findInventoryItem method's data type is an object, how do I get the quantity of the object to be returned as an integer?

findInventoryItem 确实 return 一个对象,但我们随后对该对象调用 getQuantity(),它(大概)return 是一个整数。结果,您的表达式的计算结果为 int。

您目前拥有的代码实际上只是 shorthand 用于:

WhateverThatObjectClassIs item = findInventoryItem(partNumber);
item.getQuantity();

现在(希望如此)您可以看到您需要做的就是将表达式的结果分配给一个变量:

int quantity = findInventoryItem(partNumber).getQuantity();

大功告成。