在java中,substring是用来截取字符串,如果截取的长度超出了字符串的长度,就会报错:
String str = "abcd";
str.substring(0,2); //返回:ab
str.substring(0,5); //报错:Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 0, end 5, length 4
解决方法:
采用apache提供的一个工具类:StringUtils,即使截取的长度超出了字符串的长度,也不会报错。
import org.apache.commons.lang.StringUtils;
String str = "abcd";
StringUtils.substring(str,0,1); //返回:a
StringUtils.substring(str,0,5); //返回:abcd
StringUtils.substring(str,5,7); //返回 空
以上就是我的解决方法,希望可以帮助到你~