【发布时间】:2018-04-12 01:02:17
【问题描述】:
我正在尝试像这样切换名为 toggle 的类级别布尔值:
public void myClass() {
private boolean toggle = false;
public void process(){
while (x < y) {
if (toggle()){
//do some stuff
} else {
//do some other stuff
}
}
}
private boolean toggle() {
return this.toggle = this.toggle ? false : true;
}
}
但 SONAR 抱怨 return this.toggle = this.toggle ? false : true; 说“应该避免内部分配”。如果我重构它以将类级别布尔值传递给toggle() 方法,它不起作用并且总是返回true。有没有一种优雅的方法可以在没有 SONAR 抱怨的情况下达到同样的效果?
【问题讨论】: