【问题标题】:Java substring issue [duplicate]Java子字符串问题[重复]
【发布时间】:2014-04-12 10:17:14
【问题描述】:

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

这里发生了什么?我做错了什么?

【问题讨论】:

  • 而且,您的示例输出混合了大小写,因此equals 也将返回 false。
  • 如果您使用 Java 7 或更高版本,您也可以在 switch 语句中使用字符串。

标签: java string substring


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-18
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多