==和equal区别

时间:2021-08-19
本文章向大家介绍==和equal区别,主要包括==和equal区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

是什么
==equal都是用于比较相等的,但是对象不同,会产生不同的结果。
为什么
==在C语言就有,很明显,这是一种运算符,和+、-一样,是程序在汇编时来实现的,是底层的实现。通过==,我们就可以比较两个寄存器的值了,这不需要任何语言来实现。
但是后来有了equal,为什么要实现equal呢?大家都知道,对象之间的比较,是人的一种思维,并不是机器可以做到的。、因此就需要equal了。它来帮助我们实现我们的想法。
怎么用
==是不是就不可以比较对象了呢?当然可以。但是作为基础运算符,只能比较寄存器层面的内容。那么对象的寄存器是什么呢?那就是对象的引用地址了。因此==对于基本数据类型,是比较数值的,对象则是比较引用地址,即是否在内存地址的引用上是同一对象。
equal则是在Object中实现的。那么去Object类中看看,,里面只有一个==,很明显,equal要我们自己重写了,也就是说,equal==其实是同一个东西,而且JAVA也没有帮我们实现,就规定了一个名字(哼)。那么equal的使用就一个要点:我们要自己重写!

原文地址:https://www.cnblogs.com/Deng-23-binb/p/15162882.html