【发布时间】:2020-01-15 17:49:53
【问题描述】:
我这里有以下一段代码,它旨在查找并返回一个产品对象,使用字符串输入与所有产品的名称进行比较。
public Product find(String input){
for(int i = 0; i <Products.size();i++)
{
if(input ==Products.get(i).getName()){
return Products.get(i);
}
}
}
我有两个问题。
A) 返回值在 IF 语句内部,所以主方法 find() 没有返回值。因此我收到一条关于此的错误消息。
B) 如果用户输入一个不存在的产品名称,那么将找不到产品,在 它不应该返回任何东西,但我不知道该怎么做。结果目前正在 用于删除产品,因此如果它传递一个要删除的空产品对象,这可能会导致 remove 方法中的错误输出。
我是编程新手,所以如果这是一个新手问题,我深表歉意,非常感谢任何帮助。
【问题讨论】:
-
你应该使用
equals()方法来比较字符串值:if(input.equals(Products.get(i).getName()))