java基础篇 ——“==”和“equals”的区别

java基础篇 ——“==”和“equals”的区别

“==”和equals的区别

        首先我们应该知道的是:

  • “==”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。
  • equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值。

一、对象类型不同

  1、equals():是超类Object中的方法。

  2、==:是操作符。

二、比较的对象不同

  1、equals():用来检测两个对象是否相等,即两个对象的内容是否相等。

  2、==:用于比较引用和比较基本数据类型时具有不同的功能,具体如下:

    (1)、基础数据类型:比较的是他们的值是否相等,比如两个int类型的变量,比较的是变量的值是否一样。

    (2)、引用数据类型:比较的是引用的地址是否相同,比如说新建了两个User对象,比较的是两个User的地址是否一样。

三、运行速度不同

  1、equals():没有==运行速度快。

  2、==:运行速度比equals()快,因为==只是比较引用。

原文地址:https://www.cnblogs.com/h1314/archive/2022/05/17/16281565.html