【问题标题】:BufferedReader readLine() method returns boolean?BufferedReader readLine() 方法返回布尔值?
【发布时间】:2015-12-19 09:15:50
【问题描述】:

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

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

错误是:

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

还有出现提示:

将“答案”的类型更改为“布尔”

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

【问题讨论】:

  • 试着把括号像这样(answer = socketIn.readLine())

标签: java bufferedreader


【解决方案1】:

这里需要一些 ():

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

查看Operator Precedence 找出原因

祝你好运

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2014-09-26
    • 2015-09-10
    • 2012-11-04
    相关资源
    最近更新 更多