首先,使用substring截取字符串时,可能会出现两种异常,分别是StringIndexOutOfBoundsException和NullPointerException。
即字符串索引越界异常 与 空指针异常
引起 字符串索引越界异常(StringIndexOutOfBoundsException)有以下几种情况:
1. 当使用substring时,第一个入参和第二个入参之和不能大于要截取的字符串长度
避免此错误可以在执行substring之前,进行判断。 如果一边数据写死,比如要截取的长度,就用这个固定值和字符串长度进行比较。
2. 起始位下标不能小于0
3. endIndex - beginIndex 不能小于0
4. 截取的字符串为 ""
而空指针异常(NullPointerException)只会在 “被截取字符串为null时” 会触发。
针对这些引发问题的原因,我们需要在使用substring时时刻注意,做好校验,避免此类异常的产生。