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
是否为空。
我遇到了一个错误 "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
是否为空。