==和equals的区别?
==
对于基础数据类型,比较的是值是否相等
对于引用数据类型,比较的是它们的内存地址。
equals
equals只能用于判断引用数据类型。
equals是Object类的方法,所以所有的类都有equals方法。
如果没有重写equals方法,会去调用Object类的equals,其实就是去用了==比较两个对象。
如果重写了equals方法,会按照重写的逻辑来判断对象是否相等。
比如String类就重写了equals方法,它会先用==判断两个对象的内存地址是否相同,相同直接返回true,不相同再去判断字符串的内容是否相等,相等返回true,否则返回false。