整数、字符、双精度等-所有这些都像字符串一样是不可变的类。字符串有Stringpool来节省内存,但为什么这些包装类没有类似的池呢?
我已经检查过:Integer只有类似的池,但只能到127,而不能超过它。
整数、字符、双精度等-所有这些都像字符串一样是不可变的类。字符串有Stringpool来节省内存,但为什么这些包装类没有类似的池呢?
我已经检查过:Integer只有类似的池,但只能到127,而不能超过它。
在Java中,String是最常用的类型。它可以作为加载类的参数、连接到数据库/网络连接的参数以及存储(几乎)所有事物的参数 - 列表很长。与其他基本类型/包装器类型组合使用的情况相比,它们的使用场景也几乎可以忽略不计 - 在任何应用程序中。
如果以未经优化的方式使用(例如没有实现String池),性能会受到影响 - 因此,拥有(仅)String池是有意义的。
String
使用的内存远远超过其他类型。为了减少包装类的内存使用量,您可以直接使用基本数据类型。 - Boris the SpiderCharacter
类保存了与标准ASCII字符集相关的所有值;Byte
、Short
和Integer
,正如你所提到的,保存从-128到+127的值。 - Mark