equals()和==的区别
- ==:运算符
1.可以使用在基本数据类型变量和引用数据类型变量中。
2.如果比较的是基本数据类型:比较两个变量保存的数据是否相同(类型不一定相同.具体看我关于自动类型提升的博客)。
3.如果比较的是引用数据类型:比较两个对象的地址值是否相同,即两个引用是否指向同一个对象实体。 - equals():方法
1.只适用于引用数据类型
2.比较引用数据类型的结果与"=="运算符是相同的。 - 总结:==和equals()在引用类型没什么区别,在基本数据类型没法比。只是我们经常会有错觉是equals()比较的是对象中的属性的值,那是因为String、Data、File、包装类等都重写了Object类中的equals()方法,所以他们比较的不是引用的地址值,而是比较两个对象的"实体内容"。