![](/img/trans.png)
[英]Java - ObjectInputStream boolean assignment within while loop
[英]Assignment in a boolean expression of a while loop
我從Kathy Sierra和Bert Bates的Head First Java那里得到了這個問題。 在本書的“網絡和線程”部分中,他們構建了一個聊天客戶端並通過啟動一個單獨的線程來處理傳入的消息:
public class IncomingReader implements Runnable {
public void run() {
String message;
try {
while ((message = reader.readLine()) != null) { //reader is a BufferedReader from an InputStreamReader of a Socket
System.out.println("read " + message);
incoming.append(message + "\n"); //incoming is a JTextArea they declared earlier
}
} catch (Exception ex) {ex.printStackTrace();}
}}
在他們設置了Swing GUI以及讀取器和寫入器之后,該線程僅啟動一次。
所以我的問題是,該線程如何保持活力並繼續監聽傳入的消息。 它不應該經過while循環並在message
為null
時死亡嗎?
BufferedReader將繼續讀取輸入,直到到達末尾為止。 但是,如果沒有要讀取的內容,它將繼續循環或等待直到有輸入為止。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.