在java开发中,难免会用到string.substring()方法,往往会在开发的过程中忽略其的一些潜在异常处理。
下面来分享一下我遇到的总结而来的注意事项。
string.substring(int beginIndex, int endIndex)
先上源码:
public String substring(int beginIndex, int endIndex) {
if (beginIndex < 0) {
throw new StringIndexOutOfBoundsException(beginIndex);
}
if (endIndex > value.length) {
throw new StringIndexOutOfBoundsException(endIndex);
}
int subLen = endIndex - beginIndex;
if (subLen < 0) {
throw new StringIndexOutOfBoundsException(subLen);
}
return ((beginIndex == 0) && (endIndex == value.length)) ? this
: new String(value, beginIndex, subLen);
}
触发越界异常
一、截取字符个数小于定义的endIndex个数 的问题
java.lang.StringIndexOutOfBoundsException
案例: