java中的==与equals有什么区别

这篇文章运用简单易懂的例子给大家介绍java中==与equals的区别,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

创新互联是一家专业提供靖江企业网站建设,专注与网站设计制作、网站设计HTML5、小程序制作等业务。10年已为靖江众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

== 和 equals 区别:

== :

判断两个字符串在内存中首地址是否相同,即判断两者是否是同一个字符串对象作用于引用类型的变量,则比较的是所指向的对象的地址。

equals:

equals方法不能作用于基本数据类型的变量;

如果没有重写equals()方法比较的是对象的地址,因为对Object来说对象没有什么属性可以比较,只能比较最底层的地址.

而如果重写equals()方法时,该方法的对象因为是Object的子类,所以调用时会调用子类对象里面的方法.所以只有重写equals()方法后,两者比较的才是内容.或者说重写可以使自己定义比较的规则,不想按照地址去比较.

实例:

String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
String str4 = new String("abc");
当:  str1 == str2    输出:true    当:str1.equals(str2); 输出:true
当:  str1 == str3 输出:false      当:str1.equals(str3); 输出:true
当:  str3 == str4 输出:false      当:str3.equals(str4); 输出:true

 

关于java中==与equals的区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


新闻名称:java中的==与equals有什么区别
文章地址:http://hbruida.cn/article/ipiees.html