当我按 x 时无法跳出循环

Unable to break out of a loop when i press x

如果我将条件设置为 c=='x',它可以工作(不是我想要的,如果文本中存在任何 'x',如 'asdx',循环就会中断)但是如果我把它写成 s=="x" 就不行(所以只有当我只输入一个 x 时循环才会中断)

public static void main(String[] args) throws IOException {
    InputStreamReader i = new InputStreamReader(System.in);
    String z = "";
    boolean bool=true;
    while (bool==true) {
        int x = i.read();
        char c = (char) x;
        String s = Character.toString(c);
        z += s;
        if (s=="x") {
            bool=false;
        }
    }
    out.println(z);
}

使用equals比较String值:

if(s.equals("x")){
  bool=false;
}

== 比较对象引用。