我编写的用于搜索名为 Item 的类的方法存在问题。无论我搜索什么,它都会返回 null。我相信我遇到了变量范围的问题:
public Item search(String itemSearch) {
Item search = null;
for(Item i : items){
if (i.getName() == itemSearch){
search = i;
}
}
return search;
}
getName 方法返回项目的名称属性。无论什么,项目搜索始终为空,我猜这是由于变量作用域造成的,并且它没有在 foreach 循环中分配?为什么这个方法总是为空?
谢谢
最佳答案
在java中不能使用==来比较两个字符串的内容。您需要使用.equals()
方法
使用==只会比较两个字符串的地址,而equals
会比较它们的值。
关于java - 搜索方法始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8380099/