首先,我们只需要看Object中的equals 方法写的是啥

很显然,就是一句话,“==” 与 equals方法作用完全一致。

都是用来比较在内存的首地址,即用来比较两个引用变量是否指向同一个对象。

那么为什么网上那么多教程都写的那么多呢,还区分什么String类型StringBuffer对象,其他对象。

我们继续去看源码,String类的equals 方法写的啥

与Object的equals方法完全不一样,String类重写了Object的equals方法,再看内容就是两部分

1、还是“==”;

2、转为String类后字符数组完全相等,也就是说字符串内容完全相同。

因为重写了equals方法,所以String类的“==” 与 equals 就有区别了,所以equals 的比较就变成了:比较要么完全相等,要么字符串内容一致。

以上内容总结两句话:

1、“==” 与 equals方法作用完全一致,都是用来比较在内存的首地址,即用来比较两个引用变量是否指向同一个对象。

2、String类由于重写了equals方法,所以String类的equals 的比较就变成了:比较要么完全相等,要么字符串内容一致。

“==” 与 equals 区别 简化易懂版的更多相关文章

  1. 黑马程序员——JAVA基础之 == 和equals区别

    java中 == 和equals区别: java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolea ...

  2. JAVA基础之——三大特征、接口和抽象类区别、重载和重写区别、==和equals区别、JAVA自动装箱和拆箱

    1 java三大特征 1)封装:即class,把一类实体定义成类,该类有变量和方法. 2)继承:从已有的父类中派生出子类,子类实现父类的抽象方法. 3)多态:通过父类对象可以引用不同的子类,从而实现不 ...

  3. Java中的 "==" 和 "equals" 区别

    分析 "==" 和 "equals" 区别的时候先了解一下Java的内存. Java内存 “==” 和  “equals” 区别” “==”: “==”比较的是 ...

  4. ==,=和equals()区别

    equals和=,==的区别   一. ==和equals的区别 1. ==是运算符 2. equals是String对象的方法 一般有两种类型的比较 1. 基本数据类型的比较 2. 引用对象的比较 ...

  5. hashCode() 和equals() 区别和作用(转)

    出处:https://www.jianshu.com/p/5a7f5f786b75 本章的内容主要解决下面几个问题: 1 equals() 的作用是什么? 2 equals() 与 == 的区别是什么 ...

  6. ==和equals区别

    java中的数据类型,可分为两类:  1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean    他们之间的比较,应用双等号( ...

  7. java中==和equals区别

    主要是使用String时候的区别! 一.java当中的数据类型和“==”的含义 基本数据类型(也称原始数据类型) :byte,short,char,int,long,float,double,bool ...

  8. “==”和Equals区别

    相信很多朋友在面对,对象判等时经常会犹豫是用“==”还是Equals呢?有时候发现两者得到的结果相同,但有时候有不同, 究竟在什么情况下"==" 会相等,什么情况下Equals会不 ...

  9. == 与 equals区别(HashCode方法)

    1:==分析 1.2:基本类型比较 判断基本类型的数值是不是相等 1.3:对象类型比较 判断两个引用是不是指向同一个对象,即内存地址是不是相等. 2:equals分析 来判断对象内容是不是相等,一般有 ...

  10. C#基础之==(双等于号)与equals()区别

    C#中Equals和= =比较 这两种方式也是大家在日常编码工作当中用的比较多的判断方式.之前在使用的时候也没太关注两者在比较不同类型的时候存在哪些区别. 今天就和大家一起深入了解一下其中区别 一.值 ...

随机推荐

  1. linux用户账户与组账户,文件权限及归属管理

    Linux是一个多用户, 多任务多进程的服务器操作系统 用户角色:超级用户(管理员),普通用户,程序用户 用户账号管理用户账号概述用户:使用者在计算机内部的身份标识 用户账号的常见分类:超级用户: r ...

  2. 解决ubuntu pycharm 中文输入法问题

    参考连接:https://blog.csdn.net/frighting_ing/article/details/122725205

  3. Html5本地存储概念,有什么优点,与cookie有什么区别?

    html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有 ...

  4. WPF_MahApps.Metro界面主题使用

    一.创建WPF项目: 二.下载MahApps.Metro: 三.修改MainWindow.xaml 1.添加一栏: xmlns:mah="clr-namespace:MahApps.Metr ...

  5. oculus按键大全

    // OVRInput.Update(); if (OVRInput.GetUp(OVRInput.Button.Three)) { Debug.Log("remote click" ...

  6. PHP、Navicat安装

    一.PHPStudy小皮面板:https://public.xp.cn/upgrades/phpStudy_64.zip 下载完成后解压后双击 点击立即安装 安装完成 启动MySQL,Nginx(my ...

  7. vue表单校验限制输入数字后小数点两位(包括避开通过中文输入法的那些坑)

    <el-form-item label="海运运费系数"> <el-input v-model.trim="ruleForm.oceanFreightC ...

  8. to_csv()导入数据乱码问题

    制定编码: utf_8 -->utf_8_sig 修改后代码code: df.to_csv('data3.csv',index=False,encoding='utf_8_sig')

  9. Vue实现组件化的基本思路

    Vue.js(以下简称Vue)是时下流行的前端开发库,一般搭配其插件Vue-Router,Vuex一起使用,行业中称为Vue全家桶. Vue使用了MVVM的理念,将表现层(DOM)和数据层进行了分离, ...

  10. 【JSON】Python读取JSON文件报错json.decoder.JSONDecodeError的问题

    报错 json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line * column * ...