1.
==和equals的区别:
最大的区别是一个是运算符一个是方法
== : 如果比较的对象是基本数据类型,则比较数值是否相等,
如果比较的是引用数据类型,则比较的对象的地址值是否相等
equals : 用来比较两个对象的内容是否相等
注意equals方法不能用于基本数据类型的变量,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址
2.
简述String类中的equals方法和Object类中的equals方法的不同点:
String类中的equals方法是用来判断两个对象的内容是否相同【String类重写了equals方法】,
对于String类来说,它的equals方法先用==比较两者的地址,如果地址相等即两个对象的引用是同一个对象。
再者判断它的类型是否是String,在判断两者底层数组的长度是否相等,
最后在遍历判断它们的内容是否相等。
而Object类中的equals方法是用来判断两个对象是否是同一个对象,
即内存中的同一块存储空间【简言之: 比较对象的地址】