判断两个Integer是否相等不能用==,要用compareTo方法

 
今天在做项目的时候遇到了一个问题,就是在匹配两个Integer类型变量相等的时候,不执行判断语句,错误代码如下:
List<AuditingCourse> aList =this.auditingCourseService.findAll();
for(AuditingCourse ac : aList){
if(ac.getCourse.getId() == course.getId()){
  auditingCourse = ac;
  break;}
}
if中的判断语句不执行,原因是在判断两个Integer变量相等时,应该使用compareTo()方法。修改代码为
List<AuditingCourse> aList =this.auditingCourseService.findAll();
for(AuditingCourse ac : aList){
if(ac.getCourse().getId().compareTo(course.getId()) ==0){
  auditingCourse = ac;
break;}
}

你可能感兴趣的:(Integer)