黑马程序员技术交流社区

标题: byte值范围常量池第二波 [打印本页]

作者: decadence90    时间: 2015-7-22 21:55
标题: byte值范围常量池第二波
                Integer i1 = 127;
                Integer i2 = 127;
                System.out.println(i1 == i2);                //ture
                /*----------------*/
                Long l1 = 127L;
                Long l2 = 127L;
                System.out.println(l1 == l2);                //ture
                /*----------------*/
                Character ch1 = 127;
                Character ch2 = 127;
                System.out.println(ch1 == ch2);                //ture


                //^^^^^^^^^^^^^^^^^^^^^^^^
                Integer i1 = new Integer(127);       
                Integer i2 = new Integer(127);                //new对象,堆内存开辟空间,地址值肯定不一样
                System.out.println(i1 == i2);                //false
                /*----------------*/
                Long l1 = new Long(127L);
                Long l2 = new Long(127L);
                System.out.println(l1 == l2);                //false


                //^^^^^^^^^^^^^^^^^^^^^^^^
                Integer i1 = 128;
                Integer i2 = 128;
                System.out.println(i1 == i2);                //false
                /*----------------*/
                Long l1 = 128L;
                Long l2 = 128L;
                System.out.println(l1 == l2);                //false
                /*----------------*/
                Character ch1 = 128;
                Character ch2 = 128;                        //超出byte范围,不走常量池,而在堆内存开辟空间
                System.out.println(ch1 == ch2);                //false





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