==和equals的区别

来源:互联网 发布:软件编程工作工作状态 编辑:程序博客网 时间:2024/06/06 16:45

==比的是两个对象是否指向同一片内存空间,比的是引用,也就相当于两个东西如果外观一样就认为他们相同

this==another object,这两个引用指向同一内存空间,不会去比较内存空间中的变量是否一致。

而equals比较复杂,这边引用一个例子说明一下,equals比的是内容。


这边调用了equals的源码作为说明:



1.先判断引用是否一致,如果是则返回true,如果否看下一步;

2.看anObject是否是String的实例或者子类实例,如果不是返回false;

   先看字符串长度是否一致,一致返回true,不一致则看下一步;

   如果一致再看里面的每一个字符是否一致,如果一致则认为相同;

  其他情况返回false;


1 0
原创粉丝点击