gpt4 book ai didi

java - 为简单的 setter/getter 初始化临时变量是否更好?

转载 作者:行者123 更新时间:2023-12-02 04:29:39 25 4
gpt4 key购买 nike

一个关于Java性能的非常不重要的问题,但今天让我想知道。

假设我有简单的 setter/getter :

public Object getSomething() {
return this.member;
}

现在,假设我在某个函数/算法中需要两次(或多次) getSomething() 的结果。我的问题:调用 getSomething() 两次(或多次)或声明一个临时的局部变量并从那时起使用该变量有什么区别吗?

也就是说,要么

public void algo() {
Object o = getSomething();

... use o ...
}

public void algo() {
... call getSomething() multiple times ...
}

我倾向于混合使用这两种选择,没有具体原因。我知道这并不重要,但我只是想知道。

谢谢!

最佳答案

从技术上讲,不多次调用该方法会更快,但情况可能并不总是如此。 JVM 可能会将方法调用优化为内联,而您根本看不到差异。无论如何,差异可以忽略不计。

但是,始终使用 setter/getter 可能更安全。如果状态值在调用之间发生变化怎么办?如果您想使用一致的版本,那么您可以保存第一次调用的值。否则,您可能希望始终使用 getter。

无论如何,您不应该根据性能做出此决定,因为它是如此微不足道。我会选择一个并坚持下去。我建议始终检查您的 getter/setter。

关于java - 为简单的 setter/getter 初始化临时变量是否更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608666/

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