我正在尝试使用 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/