本帖最后由 1453149997 于 2014-4-3 08:53 编辑
(1)==比较对象的哈希值,即对象的地址,而equals比较对象是否相等;
在Object中,equals和==的作用是相同的,即equals里使用的就是==;
所有的自定义类都会间接或直接的继承equals,如果是直接继承,即你定义类的时候没有使用extends继承其他类,那么你将继承Object的equals方法,如果我们需要自定义比较规则,比如定义了一个Person,要在name和age相等的情况下算作是一个人,那么就要覆写equals
(2)我们如果仅仅要比较对象的地址或者哈希值是否相等,那么使用==,但是哈希值相等不一定是同一对象,所以想要比较是否是同一对象要使用equals
|