今天遇到了一个问题,开始很不解。。
已知 :
collect.getUser().getId() =1
user.getId()=1
然后if语句
if(collect.getUser().getId()==user.getId()){
system.out.println("相等的!");
}
else{
system.out.println("不相等的!");
}
输出的结果大为失望,不相等。。。
后来转换了下方式,
int i1=collect.getUser().getId();
int i2=user.getId();
if(i1==i2){
}
这样却ok。
这是不是因为第一种方式 是用地址去做的比较呢?
而第二种是 值类型,是直接拿值进行比较。所以ok通过。
貌似以前经常用第一种去比较,也没用出问题呀。