编辑:谢谢,PakkuDon
而不是使用“==”我必须使用“.Equals()”!
虽然我在区分标准聊天和命令聊天方面遇到了麻烦,但我正在尝试实施聊天命令系统。
暂时只关注一个命令`highlight
`highlight
时,输出是:
highlight
`highlight
这是我的代码:
String cmd = InMessage.message.substring(0, 10);
System.out.println(cmd);
System.out.println("`highlight");
if( cmd == "`highlight" )
{
... cancel chat packet and proces command
}
然后if语句返回false。
这里发生了什么?我做过的任何事都错了?
答案 0 :(得分:0)
你有很多问题。首先,如果用户键入少于10个字符的内容,substring
将抛出异常。其次,你正在使用== equals
哪个更好。但是你不需要这些东西。你可以使用
if (InMessage.message.startsWith("`highlight")) {
// whatever
}