比较传输对象的值

Comparing value of transmitted objects

我正在尝试制作一个简单的 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",或者正在发生其他一些异常情况。没有产生错误,但服务器忽略了条件语句。我还验证了客户端发送的字符串是应该的。

== 比较引用。要比较值,请尝试

"Hello".equals(msg.text)