java.lang.StringIndexOutOfBoundsException: String index out of range: -1 String str = sb.substring(0, idx);
时间: 2023-11-09 22:19:50 浏览: 93
java 字符串索引越界异常(StringIndexOutBounds)
5星 · 资源好评率100%
这是一个 Java 异常,java.lang.StringIndexOutOfBoundsException,它表示字符串索引超出范围。在你提供的代码中,出现了这个异常的原因是 `idx` 的值为 -1,而在 Java 字符串的索引中,索引值不能为负数。
可能的原因是 `idx` 的计算有误,导致其值为 -1。你可以检查一下 `sb` 和 `idx` 的相关逻辑,确保 `idx` 的计算正确,且在合理的范围内。
另外,你还可以在使用 `substring()` 方法之前,通过调用 `indexOf()` 方法来获取正确的 `idx` 值,以避免出现负数索引的问题。例如:
```java
int idx = sb.indexOf("yourSubstring");
if (idx >= 0) {
String str = sb.substring(0, idx);
}
```
这样可以确保只在字符串中找到子串时才执行 `substring()` 方法,并避免了负数索引的问题。
阅读全文