Java:字符串索引超出范围:-4

Java: String index out of range: -4

我遇到了一个错误 "String index out of range: -4" 下面是我的代码

if (WHEREClause.substring((WHEREClause.length() - 4)) == "AND ") {
    WHEREClause = WHEREClause.substring(0, (WHEREClause.length() - 4)); }

WHERECLAUSE 的值 => "arSLC_CODE=13 AND "

如果我从代码中显示 "WHEREClause.substring((WHEREClause.length() - 4))" 我明白了 => "AND "

所以看起来像 如果("AND " == "AND ")
{
...我进去这里
}

但是我得到一个错误 "String index out of range: -4" 并且无法进入 if 语句。请帮助还是新手

比较字符串时使用 .equals 而不是 ====通常仅在比较引用或内存时使用,而.equals用于查看它们是否包含相同的内容

首先,Alex Tănăsescu 是对的,使用.equals 比较string 内容。

其次,看起来 WHEREClause 属性可能包含一个空字符串。您确定异常是在 if 块内抛出的吗?我确信它出现在这段代码的早期:

WHEREClause.substring((WHEREClause.length() - 4))

只需检查 string 是否为空。