我用变量 x
调用一个方法,我做了一些检查,如果某些条件为真,我必须用不同的变量值执行同一方法的一部分。
什么更有效?
- 再次调用该方法(递归),或者
- 更改我的变量值并让程序执行方法的以下几行?
在这两种情况下我都可以让它工作,但更有效的方法是什么?
对于第二种情况,我在顶部使用了 if
语句。我读取了我想要的值,然后使用该值执行以下 if 语句。
public void mymethod(x){
if (con){
x = something;
}
if (con2){
//do something
} else if(con3) {
//do something
}
}
最佳答案
正如 Dave 所说,您可能根本不应该担心此类微优化。最好的办法是以最容易阅读和理解的方式编写代码。在我看来,最好的方法是将“做某事”部分移到一个单独的函数中,并将完成其工作所需的所有参数传递给它。
如果您真的想谈谈效率,请注意现代系统往往严重依赖缓存,因此过去曾经有效的许多性能方法实际上不再构成改进。相反,它们使事情变得更糟。
关于java - 性能:递归调用方法与使用条件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728326/