StaceySmile
2016-04-14 21:27
比较两个对象是否相等,如果是equals(),就是比较两个对象的属性,属性值,类型是否相同;如果是==,就是比较两个对象是否分配了不同的内存空间。
错,equals才是比较两个对象的内存空间
Object类中默认的equals()方法是比较引用地址的,想要比较两个对象的属性是否相同,就要重写equals()方法来做比较了。你没删除重写的equals()方法,比较的是对象的属性。应该是这样理解的吧。
对。==比较的是地址,equals比较的是值。两个值相同的字符串用==比较结果可能是false,而equals()则一定为true;除非两个字符串是同一个new出来的对象,不然比较字符串是否相同用equals()。
Java入门第二季 升级版
530562 学习 · 6091 问题
相似问题