簡體   English   中英

如何使Gpars Actor從控制台讀取

[英]How to make a Gpars Actor to read from console

我有一個簡單的GPars演員:

class ConsoleActor extends DefaultActor {

    protected void act() {
        loop {
            react { Msg msg ->
                switch (msg.type) {
                    case MsgType.Read:
                        sender.send(System.console().readLine())
                        break
                }
            }
        }
    }
}

但是,當我嘗試發送一條消息以強制參與者從控制台讀取內容時,我得到了NPE:

Actor線程Actor線程3中發生異常java.lang.NullPointerException:無法在空對象上調用方法readLine()

為什么會發生這種情況,以及如何從GPars Actor中的控制台讀取?

我在這里找到了答案: StackOverflow-系統控制台返回null

class ConsoleActor extends DefaultActor {

    protected void act() {
        loop {
            react { Msg msg ->
                switch (msg.type) {
                    case MsgType.Read:
                        Scanner input = new Scanner(System.in);
                        String str = input.nextLine();
                        sender.send(str)
                        break
                }
            }
        }
    }
}

這個對我有用。

暫無
暫無

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

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