浅谈java 中equals和==的区别

网友投稿 205 2023-01-11


浅谈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方法,字符串对象在常量池中和它相等的字符串http://的引用

 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和==的区别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此QzmUI也非常感谢大家对我们网站的支持!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:字典的接口测试(字节 测试)
下一篇:使用java的注解(用在java类的方法上的注解)方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~