【发布时间】:2018-10-22 11:45:14
【问题描述】:
我正在尝试删除输出中的最后一个字符,但这个错误告诉我,java.lang.StringIndexOutOfBoundsException: String index out of range: -1
【问题讨论】:
-
表示
output长度为零,表示rs为空,因此while循环不执行
我正在尝试删除输出中的最后一个字符,但这个错误告诉我,java.lang.StringIndexOutOfBoundsException: String index out of range: -1
【问题讨论】:
output长度为零,表示rs为空,因此while循环不执行
如果您尝试删除StringBuilder/StringBuffer 中的最后一个字符,您可以这样做:
if (output.length() > 0) {
output.setLength(output.length() - 1);
}
PS:我对你投了反对票,因为你不应该将代码复制到帖子中,而不是将其作为屏幕截图上传。
【讨论】:
我不知道你的代码试图完成什么,但很可能发生的事情是输出为空,而你试图访问它的第 -1 个字符,这是无法完成的。
要修复您所做的事情,请尝试执行以下操作。
在第 59 行,将 if 语句更新为:
if (rs.next() == false && output.ToString() != "")
【讨论】:
拆分前需要检查输出的长度,错误可能是字符串长度为零。
【讨论】: