我是 Java 的初学者。我想知道,如果变量在初始化之前需要复杂的计算,但一旦初始化,它就不会改变,该怎么办。我想使变量成为最终变量,但与其在构造函数中初始化它,不如在方法中初始化它,以便以后可以重用该方法。有什么办法可以做到这一点?
除了上述所有要求之外,如果我只想在需要时才计算此变量的值(因为计算它的计算成本很高),会发生什么情况?遇到这种情况怎么办?
最佳答案
您可以尝试来自 Guava 的 memoize 供应商:
Supplier<T> something = Suppliers.memoize(new Supplier<T>() {
// heavy computation
return result.
});
something.get();
something.get(); // second call will return the memoized object.
关于java - 如何初始化需要复杂计算的最终变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38175847/