原代码(逻辑错误):
if (applicationAccessStatistics.getTop()){
applicationAccessStatistics.setTop(false);
}
if (applicationAccessStatistics.getTop()){
applicationAccessStatistics.setTop(false);
}
想要实现效果:把top这个属性读取出来,如果是true改成false,如果是false改成true。
但是按上面这个代码走会发现一个bug,假如原来的top值是false,第一个if走完把top改成true,此时会直接进入第二个if!!!,然后在第二个if又会改回false,这样原先的值就没有变!偷懒少写一个else的后果。
边上的大佬给我说了一下,不用加else,只要一行代码就能解决:
applicationAccessStatistics.setTop(!applicationAccessStatistics.getTop());
我只能说nb