java - 搜索方法始终为空

标签 java

我编写的用于搜索名为 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/

相关文章:

java - 从代码运行测试时在 Eclipse 中显示 JUnit View

java - LocalDateTime 到特定时区

java - ivy冲突解决: two libs need another lib in different version

java - 在 Java KeyStore 中导入私钥/公钥对

java - 如何遍历KeyValueStore中的所有元素

java - 命名文件时禁止使用哪些字符以及如何删除它们?

java - 获取长数据类型

java - 创建通用对象的缓存

java - 如何创建虚拟 Oracle 服务器来与 Toad 连接

java - 没有可用的 'xxx.xxx.xxx.xxx.MyUserDetailsService' 类型的合格 bean : expected at least 1 bean which qualifies as autowire candidate