==本质是值比较,不管是基本数据类型还是引用数据类型,其本质比较的都是值,只不过引用数据类型变量存的值是对象的地址
equals的作用也是判断两个对象是否相等,她不能用于比较基本数据类型,因为他是object的方法
hashcode和equals(相等的hashcode是冲突)
重写equals必须重写hashcode,因为如果eaulas相等,则hashcode一定相等,而hashcode相等,equals不一定相等,hashcode默认行为是堆上的对象产生独特值,如果没有重写hashcode,那么该class的两个对象无论如何对不会相等。