BufferedReader readLine() 方法 returns 布尔值?

BufferedReader readLine() method returns boolean?

我正在 Java 中编写一个聊天客户端,并在 Eclipse 4.4.1 中尝试编译时收到奇怪的错误消息:

            ...
            BufferedReader socketIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            ...
            String answer;
            while (answer = socketIn.readLine() != null) {
                incomingTextField.setText(answer);
            }
            ...

错误是:

Type mismatch: cannot convert from boolean to String

还有提示:

Change type of 'answer' to 'boolean'

但是,这没有任何意义,因为根据文档 readLine() 必须 return String.

这里需要一些 ():

while ((answer = socketIn.readLine()) != null) {

检查一下 Operator Precedence 找出原因

祝你好运