为了账号安全,请及时绑定邮箱和手机立即绑定

equals();方法比较的是两个对象的内容是否相同。为什么在Object类里面比较两个引用对象时,比较的却是对象的引用是否指向同一块地址?必须要重写equals();方法

                Dog dog=new Dog();
		Dog dog2=new Dog();
		if(dog.equals(dog2)){
			System.out.println("两个对象是相同的");
		}else{
			System.out.println("两个对象是不同的");
		}


正在回答

2 回答

如果没有重写equals方法比较的是对象的地址,对于Object来说对象有什么属性可以比较啊?就是最底层的内存地址嘛,重写equals挺简单的,使用eclipse的sourse的自动创建equals方法按钮,再选择需要什么属性即可

0 回复 有任何疑惑可以回复我~
#1

百泉 提问者

非常感谢!
2016-05-15 回复 有任何疑惑可以回复我~

==与equals()区别

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

equals(): 比较存储在两个字符串对象中的内容是否一致

我觉得啊:两个字符可能相同可能不同,是绝对的!

两条狗肯定不是相同的哇!初学仅供参考!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

equals();方法比较的是两个对象的内容是否相同。为什么在Object类里面比较两个引用对象时,比较的却是对象的引用是否指向同一块地址?必须要重写equals();方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信