The operator + is undefined for the argument type(s) Integer, int的报错处理
publicintinsertAlbum(intfatherId,Stringname){ObjectmaxId=super.selectOnlyValue("selec...
public int insertAlbum(int fatherId, String name) {
Object maxId = super.selectOnlyValue("select max(id) from tb_album");
int id = (maxId == null ? 1 : (Integer) maxId + 1);
super.longHaul("insert into tb_album(id,father_id,name) values(" + id + "," + fatherId + ",'" + name + "')");
return id;
}
如果是因为Int型不能定义为NULL值请问该如何修改? 展开
Object maxId = super.selectOnlyValue("select max(id) from tb_album");
int id = (maxId == null ? 1 : (Integer) maxId + 1);
super.longHaul("insert into tb_album(id,father_id,name) values(" + id + "," + fatherId + ",'" + name + "')");
return id;
}
如果是因为Int型不能定义为NULL值请问该如何修改? 展开
2个回答
展开全部
int id = (maxId == null ? 1 : ((Integer) maxId).intValue() + 1) 这样写 可能你的jdk版本问题
或者改成下面这个样子也是可行的
int maxId =-1;
maxId = super.selectOnlyValue("select max(id) from tb_album");
int id = (maxId == -1? 1 : maxId + 1);
super.longHaul("insert into tb_album(id,father_id,name) values(" + id + "," + fatherId + ",'" + name + "')");
return id;
或者改成下面这个样子也是可行的
int maxId =-1;
maxId = super.selectOnlyValue("select max(id) from tb_album");
int id = (maxId == -1? 1 : maxId + 1);
super.longHaul("insert into tb_album(id,father_id,name) values(" + id + "," + fatherId + ",'" + name + "')");
return id;
追问
谢谢,我用的是JDK1.8的应该没什么问题,直接用Intvalue取值已经没有报错了,接下去会继续测试,已经采纳,谢谢~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询