2015-12-19 109 views
0

我寫在Java中的聊天客戶端,並得到一個奇怪的錯誤信息,同時試圖在Eclipse 4.4.1編譯如下:BufferedReader readLine()方法返回布爾值?

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

的錯誤是:

類型不匹配:不能從布爾值轉換爲字符串

還有出現尖:

「答案」到「布爾」

的變化類型。然而,這是沒有意義的,因爲根據文檔readLine()必須返回String

+3

嘗試把括號像這樣'(答案= socketIn.readLine())' – Arc676

回答

11

你需要一些()的位置:

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

檢查約Operator Precedence弄清楚爲什麼

好運