==和equals以及hashcode
==是操作符,用来判断内存地址是否相同。无论是基本类型还是引用类型。
equals是Object的方法,直接应用了==,由于是对象的方法,只能判断对象,不能被基本类型变量使用。要想实现不同的equals功能可以对其进行重写,比如String类对equals重写来比较字符串的内容。
hashcode也是Object的方法,不能被基本类型调用。基于内存地址返回一个不固定位数的int型整数。同一个对象的hashcode一定是一样的。不同对象的hashcode也可能一样(产生哈希碰撞)。