java中if语句的问题,我突然发现的,求解释

greysky007 2012-08-20 10:31:16
代码一:
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;
两个代码出来的结果不一样,为啥?
...全文
131 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
菖蒲老先生 2012-08-20
  • 打赏
  • 举报
回复
例如你rs里只用一行数据,
游标最开始指在第一行的前面,
代码一的写法,当向后移动两行时,肯定没有next了,所以为false。

而代码二,移动一行,游标正好指在第一行数据上,所以为true。
菖蒲老先生 2012-08-20
  • 打赏
  • 举报
回复
rs.next()表示游标在结果集里向下移了一行,
代码一里执行到boolean b = rs.next();时,向下移一行,
执行到if(rs.next) {时又向下移了一行,总共两行。

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

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧