Java子串问题

时间:2014-03-09 10:26:53

标签: java string substring

编辑:谢谢,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。

这里发生了什么?我做过的任何事都错了?

1 个答案:

答案 0 :(得分:0)

你有很多问题。首先,如果用户键入少于10个字符的内容,substring将抛出异常。其次,你正在使用== equals哪个更好。但是你不需要这些东西。你可以使用

if (InMessage.message.startsWith("`highlight")) {
    // whatever
}