重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章运用简单易懂的例子给大家介绍java中==与equals的区别,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟主机、营销软件、网站建设、吉首网站维护、网站推广。== 和 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的区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。