ITPub博客

首页 > > > 对象引用和对象本身内容

对象引用和对象本身内容

作者:soloxiao 时间:2019-10-08 17:37:20 0 删除 编辑

学习Java的时候遇到一个问题?

Integer i1=new Integer(51);

Integer i2=new Integer(51);

System.out.println(i1==i2);--》false

System.out.println(i1.equals(i2));-->true

我知道i1和i2都是两个Integer对象的引用,他们指向的是对象的堆内存地址,每个对象都是标识唯一的,返回false我可以理解。但是第二个理解不了,我网上查了Object类的equals方法源码,网上答案只是:return this==object(形参);那样的话第二个打印结果不可能是:true  !!! 猜测的结果是equals方法源码不只有那一句,应该还有一句:如果地址不一致,则比较其内容。

注意:i1引用的可不是String对象,所以不可能调用String重写的equals方法。

请各位楼主帮我解析下,object的equals方法和逻辑运算符“==”比较的不是对象的引用吗?难道基本数据类型有不同的比较,是网上源码错了还是其他地方错了!求源码 !

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2079/viewspace-3152106/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    122
  • 访问量
    824