LineNumberReader.readLine() 如果查询行为不正确

LineNumberReader.readLine() if query not behaving correctly

我正在尝试找出行 "character" 在 .txt 文件中出现的频率 我试过这个:

String line;
int characterAmount;
characterAmountReader = new LineNumberReader(new FileReader(filename));
while ((line = characterAmountReader.readLine()) != null) {
    if(line == "<character>") {
        characterAmount++;
    }
}

但由于某种原因它不起作用:/

您的问题是您使用 == 而不是方法 equals()

来比较字符串

查看完整说明here

为了简单起见[​​=10=]比较实例。由于 line"<character>" 不是 class 字符串的同一个实例,因此它总是 return false。使用 equals() 方法比较值,在这种情况下,当行值为 "<character>".

时,它应该 return 为真