java - Apache commons 中的 FileUtils 出现问题

标签 java apache

我正在尝试使用 apache commons 来阅读字典。当我使用这段代码时

for(String line: FileUtils.readLines(new File("dictionary.txt")))
    System.out.println(line);
}

它打印整个文件。 但是当我使用这段代码时,当我 100% 确定 b 和 line 相同时,什么也不会发生

    for(String line: FileUtils.readLines(new File("dictionary.txt")))
    {
        if(line.toLowerCase() == b.toLowerCase())
            {
                 valid = true;
             System.out.println(line);
        }

那怎么了?

最佳答案

在 Java 中,除了基本类型之外,“==”测试两个对象是否是同一个对象(即它们是否共享相同的内存地址),而 .equals() 测试它们是否具有相等的值(即使它们存储在不同的内存位置)。只需更改:

  line.toLowerCase() == b.toLowerCase()

至:

  line.equalsIgnoreCase(b)

...它应该可以工作。

关于java - Apache commons 中的 FileUtils 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20338370/

相关文章:

java - 如何使用 servlet 为域添加别名?

java - JTextPane 文本背景颜色不起作用

apache - 使用Apache mod_proxy的风险

php - 我无法通过本地 phpmyadmin 访问远程 mysql 服务器

apache - httpd重启错误: Apache

php - 我的虚拟主机正在将 ?PHPSESSID=fgh2h45... 添加到 URL 的末尾

java - 如果项目与条件匹配,是否有办法跳出 java 流?

java - 如果我使用 spring,JSP 会转换为 servlet 代码吗?

java - Java 中的客户端服务器程序(没有正确的输出)[没有错误]

javascript - Apache Web 服务器消息