0

我正在尝试制作一个简单的 irc 服务器和客户端,并且我正在尝试找到一种方法让服务器对发送给它的某些消息做出不同的响应。我正在使用 kryonet api 进行联网。这是我的听众:

        public void received(Connection c, Object o){

            if (o instanceof TransferMessage){

                TransferMessage msg = (TransferMessage)o;

                if (msg.text == "Hello"){

                    System.out.println("User said Hello to me!");

                }
                System.out.println(tag+msg.user+": "+msg.text);
                server.sendToAllTCP(msg);

            }

        }

我创建了一个客户端程序,它在连接时发送消息“Hello”。但是,服务器无法识别 msg.text 实际上等于“Hello”,或者发生了其他异常情况。没有产生错误,但服务器忽略了条件语句。我还验证了客户端发送的字符串是它应该是什么。

4

1 回答 1

1

== 比较参考。要比较值,请尝试

"Hello".equals(msg.text)
于 2015-09-12T23:29:32.300 回答