我已经尝试创建一个公共(public)静态变量(非本地)并故意对其进行增量并告诉 Java:
“如果这个变量== 0,那么执行这段代码”
这样即使第二次调用该方法,该代码块也不会执行,因为变量已更改且不再为零...并且它永远不会再次为零,因为它一直在增加。
public void actionPerformed(ActionEvent e){
if(e.getSource()==deal){/*do something*/}
}
我的问题是,当我按下“交易”按钮时,if 语句执行了不止一次。
最佳答案
尝试这样的事情:
public class Test {
private boolean isExecuted;
public synchronized void executeOnce() {
if (isExecuted) {
return;
} else {
//do your stuff
isExecuted = true;
}
}
}
根据您的要求修改它。为了提高性能,您可以使用双重检查锁定。
关于java - 我如何确保一段代码只执行一次并且只执行一次。再也不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017647/