ProjectOrder projectOrder = projectOrderMapper.selectById(projectId);
if (projectOrder.getUseModel() != null && !"".equals(projectOrder.getUseModel())) {
//此项目已选中的模块
String[] modelIds = projectOrder.getUseModel().split(",");
if (modelIds.length > 0) {
for (ModelTypeVO vo : allModel) {
for (String id : modelIds) {
if (vo.getModelTypeId().equals(Integer.parseInt(id))) {
vo.setChecked(1);
}
}
}
}
}
经过debug发现,最终找出原因
o.getModelTypeId().equals(Integer.parseInt(id) 强制转换导致报错。
如果string数组modelIds为''(空字符串)时,models.length等于1,进入该循环。空字符串强转引发报错 For input string: ""。
解决方法:在判断条件加上 && !"".equals(projectOrder.getUseModel()。
即 if (projectOrder.getUseModel() != null && !"".equals(projectOrder.getUseModel())) {}