我正在尝试这些行:
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/