-2

可能重复:
如何比较 Java 中的字符串?

用户发送命令“/test”以获得 2 个输出: - 如果密码错误 - 如果密码正确

正确的密码是“秘密”

为什么当用户执行“/test secret”时它仍然返回错误的密码?

@Override
    public void processCommand(ICommandSender sender, String[] args)
    {  
        if ( args.length == 1 )
        {      
            if ( args[0] != "secret" ) {
                sender.sendChatToPlayer("Wrong password " + sender.getCommandSenderName() );
            } else {
                sender.sendChatToPlayer("Welcome " + sender.getCommandSenderName() );
            }
        } else if ( args.length == 0 ) {
                sender.sendChatToPlayer("No parameters send");
        } else {
                sender.sendChatToPlayer("You have to give me just 1 argument");
        }
    }
4

2 回答 2

4

因为它们是不同的实例。使用 equals() 比较字符串。

于 2013-01-18T23:59:03.877 回答
0

您应该使用string.equals(other_string)而不是==,它只检查它们是否是同一个对象。它们可能不是同一个对象,但可能仍然相等。字符串实习可能发生在两个对象相同的 Java 中但这不能保证。

于 2013-01-19T00:00:22.333 回答