项目启动报错:For input string: ""


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())) {}
上一篇:OAF VO初始化分析


下一篇:一遍文章搞清楚VO、DTO、DO、PO的概念、区别