gpt4 book ai didi

java - 什么时候使用局部变量而不是方法?

转载 作者:行者123 更新时间:2023-12-02 08:07:27 24 4
gpt4 key购买 nike

什么时候应该使用局部变量而不是方法?我使用的规则是,如果方法在特定代码块中使用两次,则应将其分配给局部变量以减少计算,但我不确定 JVM 是否不会优化它,所以我想得到真正的答案。我们假设该方法对于给定的上下文每次都会返回相同的结果。

例如:

private boolean someMethod() {
return true;
}

private boolean otherMethod() {
if (someMethod()) {
System.out.println(1);
}
// other logic
if (someMethod()) {
System.out.println(2);
}
}

我会重构为:

private boolean someMethod() {
return true;
}
private boolean otherMethod() {
boolean localVar = someMethod();
if (localVar) {
System.out.println(1);
}
// other logic
if (localVar) {
System.out.println(2);
}
}

这是正确的方法吗?

最佳答案

这要看情况。如果该方法每次调用时返回不同的结果(例如时间戳),并且您每次在 otherMethod() 中都需要完全相同的值,那么您需要将其存储在局部变量中。

另一方面,如果 someMethod() 始终返回相同的值,则您可以根据需要多次调用该方法。但是,如果 someMethod() 进行一些大量计算(在成本 -> 运行时间或内存使用方面),如果您的应用程序逻辑允许,您最好只调用该方法一次。

关于java - 什么时候使用局部变量而不是方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32500628/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com