常常会遇到这样的情况。
if(A){
      ...
      if(B){
            ...
      }
}else{
      ...
      if(B){
            ...
      }
}
这种结构。。等价的结构是
if(B){
      ...
      if(A){
            ...
      }
}else{
      ...
      if(A){
            ...
      }
}
这样写会觉得code太多,太累赘。。有没有好的建议呀。因为不管外层运行什么都会运行里面相同代码。

解决方案 »

  1.   

     if(B){
                ...
          }
    =======================
    单独一个方法。具体情况具体考虑,还要参考你if(A)中是否产生影响数据。
      

  2.   

    笨死了,
    if(A){
           ...
    }else{
           ...
    }
    if(B){
           ...
    }
      

  3.   

    恩会产生数据,不然就拿出来了。但是产生影响数据很少。code很多,。感觉不够优化
      

  4.   

    ==========================
    如果code很多很有可能你在设计这个方法时考虑不足,数据很少可以做为参数传入,具体也要看你代码才可以优化。
      

  5.   

    上下两个明显是不等价的第一个运行if(B)里面的代码条件必须是A&&B
    而第二个条件只要B就行了