java中equals和==有哪些区别

这篇文章将为大家详细讲解有关java中equals和==有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、临江网站维护、网站推广。

java9举例代码:

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

涉及到的细节:
- 可以通过String中intern方法,字符串对象在常量池中和它相等的字符串的引用

 str3.intern() == str4.intern()  输出:true
 str1.intern().equals(str2.intern())  输出:true
 str1.intern() == str1   输出:false
- String str = new String("abc");创建了几个对象?

 首先要看常量池里是否有“abc”这个字符串,如果有(String str = "abc";出现时则有),则创建一个,如果没有,则创建两个(一个在常量池,一个在堆中)。

== 和 equals 区别:

对于 == :

作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
作用于引用类型的变量,则比较的是所指向的对象的地址;

对于 equals:

equals方法不能作用于基本数据类型的变量;
如果没有对Object中equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容;

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


分享标题:java中equals和==有哪些区别
URL标题:http://bzwzjz.com/article/pcsdgp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都营销网站制作 网站设计公司 品牌网站建设 网站建设公司 高端定制网站设计 手机网站建设 网站建设方案 响应式网站设计 成都定制网站建设 重庆网站建设 专业网站设计 重庆电商网站建设 网站建设公司 公司网站建设 成都网站建设公司 做网站设计 成都网站制作 成都网站设计制作公司 达州网站设计 手机网站制作 手机网站制作 网站建设开发