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://scyanting.com/article/ipiees.html