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 为真
我正在尝试找出行 "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>"
.