8、 equals与==的区别

作者: RUMyCola | 来源:发表于2022-08-02 08:37 被阅读0次

equals与==的区别

== :

    == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象。比较的是真正意义上的指针操作。

1、比较的是操作符两端的操作数是否是同一个对象。 

2、两边的操作数必须是同一类型的(可以是父子类之间)才能编译通过。 

3、比较的是地址,如果是具体的阿拉伯数字的比较,值相等则为true,如: int a=10 与 long b=10L 与 double c=10.0都是相同的(为true),因为他们都指向地址为10的堆。

equals:

        equals用来比较的是两个对象的内容是否相等,由于所有的类都是继承自java.lang.Object类的,所以适用于所有对象,如果没有对该方法进行覆盖的话,调用的仍然是Object类中的方法,而Object中的equals方法返回的却是==的判断。

总结:

        所有比较是否相等时,都是用equals 并且在对常量相比较时,把常量写在前面,因为使用object的equals方法, object可能为null ,则报空指针.

        在阿里的代码规范中只使用equals ,阿里插件默认会识别,并可以快速修改,推荐安装阿里插件来排查老代码使用“==”,替换成equals.

相关文章

  • 8、 equals与==的区别

    equals与==的区别 == : == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地...

  • Java 拆箱与装箱

    本文知识点 基本类型与引用类型 == 与 equals() 的区别 equals() 和 hashCode 的关系...

  • "=="与equals区别

    "=="当比较的是基本数据类型,比较的是值当比较的是引用类型,比较的是地址 a.equals(b)一般情况下,比较...

  • “==”与equals区别

    “==”比较地址 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equa...

  • Java字符串

    一、常用方法String str=""; 二、==与equals的区别 ==比较的是内存地址 equals比较的是...

  • Object,String,StringBuffer,Math,

    1,Object类.Equals方法 2,String类的创建方式以及==与Equals的区别 3,字符串

  • ==与equals()的区别

    1、如果比较的是常量,则 == 与 equals() 都是比较值知否相当2、如果是对象间的比较,== 比较对象在堆...

  • ==与equals的区别

    https://www.cnblogs.com/chris-oil/p/7253264.html

  • equals与==的区别

    ==: 1.基本类型比较用==比较的是存储的数值的大小; 2.引用类型比较用==比较的是引用类型的变量所指向的对象...

  • == 与 equals的区别

    引入 == - 基本数据类型(也称原始数据类型) byte, short, char, int long, flo...

网友评论

    本文标题:8、 equals与==的区别

    本文链接:https://www.haomeiwen.com/subject/wxdqwrtx.html