ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

==和equals的区别

2021-11-28 18:01:27  阅读:128  来源: 互联网

标签:String 相同 区别 数据类型 equals true 比较


==与equals通常用于判断对象是否相同。其中的规则跟比较的对象有关,分为基本数据类型与引用数据类型。

1.基本数据类型

基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。基本数据类型根本无法调用方法,因此不存在equals()方法的比较。

2.引用数据类型

当引用数据类型使用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。

 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。所以结果需要根据引用数据类型具体重写的equals(),所以结果需要根据具体方法分析得出。

例如,String中的equals()方法。

 逻辑简单来说,

1.首先比较的是两个字符串的地址是否相同,如果相同返回true。

2.如果字符串地址不相同,那么首先会判断要比较的是否属于String类型,如果是,然后在比较里边的内容是否相同。如果相同返回true。

标签:String,相同,区别,数据类型,equals,true,比较
来源: https://blog.csdn.net/qq_41335802/article/details/121594621

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有