黑马程序员技术交流社区
标题:
关于基本数据类型对象包装类的问题
[打印本页]
作者:
一颗黑菜
时间:
2014-12-15 00:38
标题:
关于基本数据类型对象包装类的问题
Integer x = new Integer("123")和Integer y = new Integer(123)的区别,打印x==y的结果是false,为什么x和y不是指向同一个对象呢,既然值都是123,为什么是两个对象呢?
作者:
wangcongwu
时间:
2014-12-15 00:47
你知道吗每一次new 都要再内存中画一个地址来保存新new 的数据的复制,不管你值一不一样 等号问的是地址值一不一样不是值一不一样,你要是想看一不一样去用equals方法保证一样
作者:
wangcongwu
时间:
2014-12-15 00:48
Integer x = new Integer("123");
Integer y = new Integer(123);
sop("x==y?"+(x==y));
sop("x.equals(y):"+x.equals(y));
自己回家去试试吧 你要是sop 不知道是啥就去看毕老师的视频
public static void sop(Object obj)
{
System.out.println(obj);
}输出小程序
作者:
清诗纪事
时间:
2014-12-15 19:59
等号“==”比较的是内存地址,每new一个对象,都会存到一个新地址里,所以地址肯定是不一样的,如果要比较数值大小,可以考虑重写equals方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2