多次调用 getter 还是调用一次并分配给变量?

2022-09-02 12:37:05

假设我有类作为:

public class Age {

    private int age;

    public int getAge() {
       return this.age;
    }

}

在我的Main类中,我多次调用该方法。getAge()

所以我想知道是否建议调用这么多次或调用一次并将其分配给某个变量并使用该变量。

哪个是最好的,为什么?


答案 1

这可能是您在知道需要进行优化之前进行优化的情况。该值只是一个整数,因此,如果将值存储在多个位置,它不会占用大量内存。同时,这是一个非常简单的方法调用,不需要花费太多时间来执行。以您认为最具可读性的方式编写它。然后,在获得代码的可靠版本后,可以使用分析工具查看是否存在明显的差异。


答案 2

不要尝试对此进行微优化,除非您在分析时发现它确实是一个瓶颈。我会使用getAge()访问器方法,因为它很可能是最可维护和最明显的解决方案。

话虽如此,这两种方法的性能可能完全相同。在运行时,JIT 很可能会完全优化 getAge() 调用,因此在这两种情况下,它都是单个基元访问。


推荐