java中equels和==

                     java中equels和==

首先==是java中的关系运算符,而equels是java中所有基类Object类中的一个方法;

如果比较的是八种基础数据类型,那么只可以使用==比较就是字面值是不是相等;没有equels什么事儿,因为equels方法是对象类型中的方法。

如果是对象类型的话:==比较的是两个对象的内存地址值,也就是比较两个引用是不是指向同一个对象实例,而equels方法在Object类中比较也是内存地址值,此时这两者是没有什么区别,Object里的equals的实现就是直接调用了==操作。

但是事实是有好多类覆盖了这个equels方法,比如String中的equels比较就是字符串的内容;这时候就有区别了,String中==比较的是地址值,而equels比较的是字符串的内容;也就是说如果覆盖了equels方法就有区别,否则没有区别;

你可能感兴趣的:(java中equels和==)