【问题标题】:Comparing value of transmitted objects [duplicate]比较传输对象的值[重复]
【发布时间】:2015-09-12 23:20:02
【问题描述】:

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

【问题讨论】:

标签: java if-statement network-programming server kryonet


【解决方案1】:

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

"Hello".equals(msg.text)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-07
    • 2021-03-01
    • 2021-09-15
    相关资源
    最近更新 更多