可能重复:
如何在Java中比较字符串?
用户发送命令"/test"以获得2个输出:-如果密码错误-如果密码正确
正确的密码是"秘密">
为什么当用户做"/testsecret"时,它仍然返回错误的密码?
@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");
}
}
因为它们是不同的实例。使用equals((比较字符串。
您应该使用string.equals(other_string)
而不是==
,这只会检查它们是同一个对象。它们可能不是同一个对象,但可能仍然是相等的。在Java中,两个对象相同,可能会发生字符串插入,但这并不能保证。