1

我已经看到 java 提供了 IntegerCache、ShortCache、ByteCahce.. 但 Double/Float 类中没有缓存逻辑。是因为与 int 相比,double 值的使用不会那么频繁吗?

4

1 回答 1

2

Double#valueOf的 Java 文档表明存在缓存但没有

返回表示指定双精度值的 Double 实例。如果不需要新的 Double 实例,则通常应优先使用此方法而不是构造函数 Double(double),因为此方法可能会通过缓存频繁请求的值来显着提高空间和时间性能。

从 -128 到 127 的值从您提到的所有三个缓存中,它们在自动装箱时使用。

于 2012-09-26T18:43:03.633 回答