整数,字符,双精度等-所有这些都是不可变的类,例如String。 String具有Stringpool来节省内存,但是为什么这些包装器没有相似的池?

我已经检查过:Integer有一个类似的池,最多可达127个,但不超过此数量。

最佳答案

除非有人能从Gosling等人找到设计文档。 Al。,大约在1994年左右,专门针对此问题,因此无法确定。

一个可能的原因是,复杂性和开销并不值得。字符串比A)大很多,并且B)比IntegerLong更常见的很多,例如,大多数人尽可能地使用原语,而只能在无法避免的地方使用包装器。

07-26 03:56