Java中equals和==的那些事
来源:互联网 发布:2016双色球预测软件 编辑:程序博客网 时间:2024/06/05 07:44
今天再复习的时候,老师特意讲解了一下Java当中的equals以及==这两者的区别,通过老师的讲解以及自己的理解,更正了自己以前的很多错误,下面自己做下记录,为以后的回顾打好基础。
正如文中所说,equals方法是Object类当中的一个方法,又来比较两者之间的关系。因为所有的类都是Object的直接子类或者间接子类,所以每个类都能够使用上equals这个方法。下面,附上一张Java源码当中Object类中的equals方法的详细代码
可以看出,equals方法在没有经过重写的时候是使用的 == 进行判断的,它比较的就是两者之间的引用类型。(在我而言,就是比较的两者在内存中的地址)。所以,在没有重写equals方法的时候,这个方法和==的作用效果是一样的。然后==用于比较基本数据类型(byte、short、int、long、float、double、char、boolean)时可以当作是算数符号,就跟比较值的时候是一样的。然后==不仅仅能够比较基本数据类型,比较起引用类型也是可以的。下面是我简单写的一个例子:
可以看到,执行==过后是打印的二者不想等。这是因为什么?因为new。只要你是new的一个新的对象,那么系统将自动为你在内存中新分配一块地址,那么==判断引用类型的时候就会发现二者的地址是不一样的。所以二者会被判定为不相等。然后我们进行equals方法进行判断。因为String类中是自己重写了equals函数(这里我不再赘述,请读者自行查看源码),所以判定二者在内容上是相等的。
好了,这就是今天大概纠正的地方,希望对大家也有点帮助!
- Java中equals和==的那些事
- Java中 hashcode 和 equals、equals和==
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- Java语法----Java中equals和==的区别
- Java 中 equals 和 == 的区别和联系
- Java中==和equals的区别和联系
- Java中==和equals的区别,equals和hashCode的区别
- Java中equals和==的区别,hashCode和equals的关系
- Java中==和equals的区别,equals和hashCode的区别
- Java 中==和 equals 的区别, equals 和 hashCode 的区别
- Java中==和equals的区别,equals和hashCode的区别
- 那些java中的 == 跟 equals的理解
- java中Object.equals()和==以及字符串.equals()
- java中字符串的equals和==的区别
- java中两个字符串“Equals”和“==”的区别
- java中两个字符串“Equals”和“==”的区别
- 超链接取消跳转的办法
- hdu3473 划分树练习
- 【项目实战】--仅对 LINQ to Entities 中已排序的输入支持方法“Skip”。必须在调用“Skip”方法之前调用方法“OrderBy”
- HDU 2669 Romantic(拓展欧几里得)
- Lua流程控制
- Java中equals和==的那些事
- define声明一个常数问题
- 源码 Music音乐播放器代码结构
- Android电话响铃、接听、挂断状态
- tensorflow 学习之 cifar_10 模型定义(补)
- linux下安装jdk和tomcat
- Android加密已有的sqlite数据库---sqlcipher
- Redis-Java客户端Jedis
- 最大序列和问题