当代码流是这样的时候:
if(check())
{
...
...
if(check())
{
...
...
if(check())
{
...
...
}
}
}
我通常已经看到了这种解决方法,以避免这种混乱的代码流:
do {
if(!check()) break;
...
...
if(!check()) break;
...
...
if(!check()) break;
...
...
} while(false);
有哪些更好的方法可以避免这种变通方法/黑客攻击,使其成为更高级别(行业级别)的代码?
是否有来自 Apache commons 或 Google Guava 的构造?
注意:这是C++ 相同问题的副本。最好的答案是真正的函数指针和 GOTO 命令。两者在 Java 中都不存在。对于 Java,我对同样的事情非常感兴趣。
将它放入一个新函数并使用return在我看来不是一个好的解决方案,因为 return 退出了该方法。因此,如果我的班级有 20 个具有这些构造的方法,我将不得不添加 20 个额外的方法来完成这项工作。这就是为什么 GOTO 是 C++ 的最佳答案。