gpt4 book ai didi

java - 缓存实例在多大程度上用于公共(public) Float 和 Double 值?

转载 作者:搜寻专家 更新时间:2023-11-01 02:36:32 24 4
gpt4 key购买 nike

对于 Integer 和其他一些数字类型,在调用 valueOf 或自动装箱原始值时,会重新使用表示 -128 到 127 范围内值的实例。

但是 Float 和 Double 呢? javadoc for valueOf暗示它可能同样使用缓存值:

If a new Float instance is not required, this method should generally be used in preference to the constructor Float(float), as this method is likely to yield significantly better space and time performance by caching frequently requested values.

但是,与 Integer's valueOf 相比,此声明不够明确(“此方法将始终缓存范围内的值...”),并且不说明可能进行此优化的一组值。那么这在实践中实际表现如何呢?

最佳答案

查看 Float.valueOf (JDK 8) 的实现,我发现它只是通过调用构造函数创建了一个新的 Float 对象。

public static Float valueOf(float f) {
return new Float(f);
}

所以,这可能是对 future 的优化。

关于java - 缓存实例在多大程度上用于公共(public) Float 和 Double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48974923/

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