Java中的==和equals
来源:互联网 发布:手机放大镜软件 编辑:程序博客网 时间:2024/06/05 20:21
学习java有一段时间了,并且参加了工作。但是对于基础学习的时候也就是草草了之,最近终于有时间和心境学习一些知识在粗略的学习了C语言之后深深的体会到了JAVA的便捷
所以又想重新温习一下Java基础,重新看了张龙老师的JavaSE基础。关于==和equals已经是老生常谈了但是通过又一遍的复习我有了一点自己的看法,便于初学者理解。
很多书上说==对于基本数据类型是判断值是否相等,对于引用数据类型是判断引用的是否是同一个对象。这么说原本没有任何错误,但是对于初学者就有些晦涩难懂。难道一个符号真的有这么智能还能判断数据类型?其实原本没有那么复杂,对于基本数据类型很好理解,基本数据类型中保存的就是它的值,而引用数据类型中保存的是引用数据类型的地址。这点随便new 一个对象打印一下这个变量就可得知,而==做的就是比较2个对象中保存的地址是不是同一个值,本质上做的还是比较值的操作。
我们在来说说equals,equals就是用来处理特殊的比较情况的方法。因为equals本来是定义在Object中的方法,在Object类中的实现是return this==Obj就是用==来判断。Java中所有类都继承了Object所有所有类都有默认的equals方法。这个方法有什么用呢?我个人理解就是在解决特殊的相等判断的时候就重写这个方法。比如一个Student对象在id属性相同的时候视作同一个学生,为了实现这个比较就应当重写equals方法和hashcode方法。在String类中JDK已经为我们做出了榜样。好了今天就分享到这里希望能对跟我一样的new commer有一些帮助。
0 0
- java中的==和equals,一劳永逸...
- Java中的==和equals区别
- Java中的==和equals区别
- java中的equals() 和 ==
- Java中的==和equals区别
- Java中的==和equals浅见
- Java中的==和equals区别
- Java中的==和equals区别
- java 中的==和equals比较
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- java中的==和equals区别
- Java中的==和equals区别
- Java中的==和equals区别
- 数据结构之Hash算法
- chage -m参数介绍
- 计算机网络基础知识开篇
- 数字目录整理
- Struts Tiles框架,标签库详解<tiles:insert page="facebook.jsp" />
- Java中的==和equals
- 舍友变阿里的员工了,UC被阿里完全收购了!
- hdu 1757 A Simple Math Problem (矩阵快速幂)
- 9.3-6 k分位数
- 组件居中一简单方法
- java php.net
- [LeetCode26]Remove Duplicates from Sorted Array
- 大型web应用相关
- leetcandy