1

嗨,当我尝试检查以下 if 条件时,出现字符串索引超出范围异常

String details="";
if("C".equalsIgnoreCase(reportType.substring(0,1)))
{
 details="CASH BOOK FROM "+startDate+" TO "+endDate+" **"+shortName;
}
else
{
  details="BANK BOOK FROM "+startDate+" TO "+endDate+" **"+shortName;
}

String index out of range: 1: 这是错误信息

提前致谢

4

3 回答 3

3

错误消息清楚地指出比长度reportType1即空)。这会导致抛出异常。你可以尝试类似的东西

if (reportType.length() >= 1) {
   // your code here
}
于 2012-08-27T09:27:22.390 回答
1

reportType.substring(0,1)引发异常,因为,reportType可能是空白(空)。检查javadoc : substringthrows: IndexOutOfBoundsException 如果 beginIndex 为负,或者 endIndex 大于此 String 对象的长度,或者 beginIndex 大于 endIndex。

于 2012-08-27T09:30:57.490 回答
0

用这个 -

reportType.substring(0, reportType.length() -1)

通过这样做,您不会超过字符串长度,从而防止抛出异常

于 2012-08-27T09:35:35.000 回答