黑马程序员技术交流社区

标题: 基本数据类型和引用数据类型 [打印本页]

作者: 随心而动    时间: 2013-10-23 08:36
标题: 基本数据类型和引用数据类型
public static void main(String[] args)
       
        {
                Integer m=128;
                Integer n=128;
                sop("m==n"+(m==n));
                Integer a=127;
                Integer b=127;
                sop("a==b"+(a==b));//结果是true 因为a和b 指向啦同一个Integer对象
                                   //因为数值在byte范围内容,对于新特性,如果该数值已经存在,则不会再开辟空间。
        }
public static void sop(String str)
        {
                System.out.println(str);
        }
m==n结果false,a==b结果是true.这是为什么?还有就是Integer  m和int m有什么区别?
作者: 漫步人    时间: 2013-10-23 09:16
哥们加油!
作者: 张俊生    时间: 2013-10-23 10:18
第一个问题你已经有答案了啊,就是因为数值在byte范围内容,对于新特性,如果该数值已经存在,则不会再开辟空间。而128不在byte范围。
第二个问题是,Integer m 中是定义个类对象,而int  m  是定义一个变量。
作者: 素人    时间: 2013-10-23 21:31
int m整形变量,其数值范围-2^31——2^31(2.147483648000000e+009)
作者: 马晓平    时间: 2013-10-23 22:43
Integer m 是对象包装类  int只是数据类型而已




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