黑马程序员技术交流社区

标题: 如何理解Integer这道面试题 [打印本页]

作者: 云123    时间: 2015-7-18 00:01
标题: 如何理解Integer这道面试题
public class IntegerTest {
        public static void main(String[] args) {
                Integer i1 = new Integer(127);
                Integer i2 = new Integer(127);
                System.out.println(i1 == i2);
                System.out.println(i1.equals(i2));

                Integer i3 = new Integer(128);
                Integer i4 = new Integer(128);
                System.out.println(i3 == i4);
                System.out.println(i3.equals(i4));

                Integer i5 = 128;
                Integer i6 = 128;
                System.out.println(i5 == i6);
                System.out.println(i5.equals(i6));

                Integer i7 = 127;
                Integer i8 = 127;
                System.out.println(i7 == i8);
                System.out.println(i7.equals(i8));
        }
作者: micro_hx    时间: 2015-7-18 00:19
查源码就知道,Integer在-128-127之间的数 做了缓存的。。。
作者: 游呤人    时间: 2015-7-18 00:27
据说是,有一字节常量池,只要在字面值是-128~127之间就直接拿




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2