==用于判断两边的变量的值是否相等,若是是基本数据类型,就是判断他们的值是否是相等;若是==两边是对象的引用,那么指的是这两个引用是否指向同一个对象,及引用的值是否相等。markdown
equals()是Object里的方法。在Object的equals中,就是使用==来进行比较,比较的是引用。与==不一样的是,在某些Object的子类中,覆盖了equals()方法,好比String中的equals()方法比较两个字符串对象的内容是否相同。对象
hashCode()方法也是继承自Object,它用来获取一个对象的hash值,返回int值。Object.hashCode规定,equals()相等的对象,它们的HashCode()返回值也必须相等,不然没法与集合类结合在一块儿使用。(List, Set, Hashmap..)继承