== 和 equals 的区别是什么?
最大的区别是,==是运算符,equal是方法
== 的作用:
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同(堆内存地址),所以,同一个new出来的对象,则他们的比较后的结果为true,否则比较后结果为false。
equals 的作用:
引用类型:重写前比较的是地址值,重写后比一般是比较对象的属性。(判断两个变量是否是对同一个对象的引用,地址值是指堆中的地址值)
equals方法被复写:如String、Integer、Date。则不再是比较类在堆内存中的存放地址了。(在这些类当中equals有其自身的实现)
有点晕,以后有时间再看 https://www.douban.com/group/topic/122150734/?type=rec