看看Integer的源代码就知道了,其实就是Integer把-127-128之间的每个值都建立了一个对应的Integer对象,类似一个缓存。由于Integer是不可变类,因此这些缓存的Integer对象可以安全的重复使用。
比如Integer.valueOf(int),就是先判断是否在-127-127之间,如果是直接return已经存在的对象,否则就只能new一个了。
这也就是为什么要尽量写Interger.valueOf(int),而不是new Integer(int)了。
Integer学习
最新推荐文章于 2022-10-17 00:54:02 发布