簡體   English   中英

While循環的布爾表達式中的賦值

[英]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循環並在messagenull時死亡嗎?

BufferedReader將繼續讀取輸入,直到到達末尾為止。 但是,如果沒有要讀取的內容,它將繼續循環或等待直到有輸入為止。

BufferedReader readLine()塊

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM