如何完美解决 Spring Boot 出现 {“msg“:“String index out of range: -1“,“code“:500} 的解决方案
报错解释:
这个错误是 Java 字符串索引越界异常,出现在尝试访问字符串索引 -1
时,因为字符串索引是从 0
开始的。
解决方法:
- 查找代码中所有可能导致此异常的地方,尤其是涉及字符串索引操作的地方,比如
charAt
、substring
等方法。 - 确保在使用字符串索引时,索引值不会小于
0
且不会大于字符串长度减一(str.length() - 1
)。 - 如果是在循环中访问字符串,请确保循环条件正确设置,不会导致索引变成负数。
- 如果是通过字符串长度计算索引,请确保长度计算结果非负。
- 如果异常是偶发的,可能是因为某种条件下字符串被处理成了空字符串
""
,需要检查字符串变量在处理前后的逻辑。
示例代码审查:
String str = "Hello";
int index = -1;
char ch = str.charAt(index); // 这行会抛出异常,因为 index 是 -1
修正后的代码:
String str = "Hello";
int index = 0; // 确保索引不是负数
if (index >= 0 && index < str.length()) {
char ch = str.charAt(index); // 安全的访问字符串索引
}
在修复代码中的索引错误后,重新运行程序以确保问题已解决。
评论已关闭