温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-06-28 19:16:21 来源:亿速云 阅读:147 作者:元一 栏目:编程语言

这篇文章运用简单易懂的例子给大家介绍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的区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI