在 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();
大功告成。
我正在做一项作业,要求我调用 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();
大功告成。