Java: JDK居然有个叫整型池的东西 | CrazyEgg
其实下面这些个assert
语句都可以通过junit
测试。
1 | @Test |
Integer
的public static Integer valueOf(int i)
是一个工厂方法,每次调用都会返回一个新的Integer
的对象。
但是为什么对于127
和128
的两个结果完全不一样???
撸一眼JDK的源码看看,底下就是那个valueOf
的具体实现:
1 | public static Integer valueOf(int i) { |
原来内部有个整型池(默认IntegerCache.low = -128
和IntegerCache.high = 127
),这样valueOf
对于-128 ~ 127
之间的返回值都是从池里面获取的。
可怜的不在这个范围内的整数!默哀
Read full article from Java: JDK居然有个叫整型池的东西 | CrazyEgg
No comments:
Post a Comment