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

当if while 嵌套时的一个很纠结的问题
(1)
  while(rs.next()) {
   
  if (flag == 1) {
  ......
  } else {
  ......
  } 

  }


 (2)
  if (flag == 1) {
  while(rs.next()) {
  ......
  }
  } else {
  while(rs.next()) {
  ......(两个分支while里的处理逻辑不同)
  }
 
  }

从效率的角度上来讲,不用说,肯定是第二种更高效,因为少了每一次循环的判断,但是具体能影响多少呢?写代码的过程中,哪种方式用的多呢?有哪位大虾 砖家 能给解个惑?


------解决方案--------------------
相差的效率微乎其微,基本上不值得这么做,更何况你还是一个面向ResultSet的循环操作,代码还是尽量符合常规逻辑思维才便于后期的维护工作。

对计算极度敏感的程序,往往从架构或设计上进行优化来提升处理能力。
------解决方案--------------------
探讨
那您是说哪种比较符合常规逻辑呢?
首先声明这里ResultSet会重新获取一遍