BufferedReader readLine()方法返回boolean?

Rom*_*man 0 java bufferedreader

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

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

错误是:

类型不匹配:无法从布尔值转换为字符串

还有一个小贴士:

将'answer'的类型更改为'boolean'

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

Jan*_*Jan 11

你需要一些():

while ((answer = socketIn.readLine()) != null) {
Run Code Online (Sandbox Code Playgroud)

检查操作员优先级以找出原因

祝好运