java - 字符串比较没有跳出 while 循环

标签 java string compare

我正在尝试这些行:

private String line;
private final String stopChr= "#";

BufferedReader in  = new BufferedReader(new InputStreamReader(server.getInputStream()));

while ((line = in.readLine()) != null) {
        tcpData = tcpData + line;
        if(line.equals(stopChr)) break;
}

为什么当出现 #if 语句没有跳出循环?

最佳答案

该行很可能不完全是“#”,例如它后面可能有一个空格。我建议您查看调试器或编辑器中的行,以准确了解字符串具有哪些字符。

尝试打印以下内容以帮助查看字符串的实际内容。

System.out.println(Arrays.toString(line.toCharArray());

如果你有尾随空格,你可以用 trim 删除它们

if (line.trim().equals(stopChar)) break;

关于java - 字符串比较没有跳出 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33911842/

相关文章:

java - 实体在 hibernate 中产生 classNotFound 异常

c++ - 交换两个字符串时访问正确的内存时遇到段错误

string - Shell 脚本三元运算符获取字符串结果

比较字符串数组中的特定字符串

java - 如何在 Groovy/Grails 中定义工厂方法?

java - Java 中的查找表?

java - 从 Java 将 File 对象传递给 Python 脚本,然后将输出结果作为新的 File 对象获取

string - Haskell 尾部拆分

javascript - Jquery:将输入值与数组对象进行比较,看看它们是否完全匹配

C# 查找两个字符串之间匹配单词的百分比