日期:2014-05-20  浏览次数:20701 次

java中if语句的问题,我突然发现的,求解释
代码一:
boolean b = rs.next();
if(rs.next) {
  return true;
} else {

 return false;
}
结果为 false;
代码二:
boolean b = rs.next();
if(b) {
  return true;
} else {

 return false;
}
结果为ture;
两个代码出来的结果不一样,为啥?

------解决方案--------------------
rs.next()表示游标在结果集里向下移了一行,
代码一里执行到boolean b = rs.next();时,向下移一行,
执行到if(rs.next) {时又向下移了一行,总共两行。

而代码二却只移动了一行,所以结果可能不一样。