[size=1em]1 [size=1em]2 [size=1em]3 [size=1em]4 [size=1em]5 [size=1em]6 [size=1em]7 [size=1em]8 [size=1em]9 [size=1em]10 [size=1em]11 | [size=1em][size=1em]Long a2 = 127L; [size=1em]Long b2 = 127L; [size=1em]System.out.println(a2 == b2); [size=1em]结果是true,竟然是true??? [size=1em]Long a3 = 128L; [size=1em]Long b3 = 128L; [size=1em]System.out.println(a3==b3); [size=1em]结果是false |
[size=1em]1 [size=1em]2 [size=1em]3 [size=1em]4 [size=1em]5 [size=1em]6 [size=1em]7 | [size=1em][size=1em]public static Long valueOf(long l) { [size=1em] final int offset = 128; [size=1em] if (l >= -128 && l <= 127) { // will cache [size=1em] return LongCache.cache[(int)l + offset]; [size=1em] } [size=1em] return new Long(l); [size=1em]} |
[size=1em]1 [size=1em]2 [size=1em]3 [size=1em]4 [size=1em]5 [size=1em]6 [size=1em]7 [size=1em]8 [size=1em]9 [size=1em]10 | [size=1em][size=1em]private static class LongCache { [size=1em] private LongCache(){} [size=1em] static final Long cache[] = new Long[-(-128) + 127 + 1]; [size=1em] static { [size=1em] for(int i = 0; i < cache.length; i++) [size=1em] cache = new Long(i - 128); [size=1em] } [size=1em] } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |