String下标越界
使用substring导致下标越界异常
案例:
在下面的案例中如果使用中文括号截取括号中的单位,就会出现下标越界异常
@Test
public void test4() {
String type = "设备房等/设备房等(个)";
String str = type.substring(type.indexOf("(") + 1, type.indexOf(")"));
System.out.println(str);
}
解决方案:
遇到传入数据格式不合规问题,可以使用contains解决
if(type.contains("个")){
salesProgressDetailEntity.setCompany("1");
}else if (type.contains("㎡")){
salesProgressDetailEntity.setCompany("2");
}else{
str = "业态"+type+"中单位格式有误,请重新下载模板导入!";
throw new Exception("业态"+type+"中单位格式有误,请重新下载模板导入!");
}