==与equals

详解“==”和equals的区别 详解“==”和equals的区别一、“==”二、equals()三、栗子和解释说明3.1栗子3.2基本数据类型的比较3.3引用数据类型的比较3.3.1String类3.3.2未重写equals方法的类四、练手栗子 “==”和equals 最大的区别是 “==”是运算符,如果是基本数据类型,则比较存储的值;如果是引用数据类型,则比较所指向对象的地址值。 equals是Object的方法,比较的是所指向的对象的地址值,一般情况下,重写之后比较的是对象的值。 一、“==” “==”是运算符 ①如果比较的对象是 阅读详情

前言

==和equals 是我们经常用来作比较的,做判断常用的手段,那这两个又有什么差异呢,我感觉应从以下几个方面入手,彻底理解

结论

 应从应用的角度来分析,具体问题具体分析,看是是否重写equals,继续看下去,答案就会揭晓,感谢你的阅读,欢迎提出宝贵的意见,十分感谢

误区

认为 == 是比较大小
equals 是比较地址 这种观念是错误的

例子

 public class Demo {
    public static void main(String[] args) {
        Integer a =1;
        Integer b =1;
        System.out.println(a==b);   //true   《1》
        Integer c =128;
        Integer d =128;
        System.out.println(c==d);  //false   《2》
        String name = "sun";
        String anotherName = "sun";
        System.out.println(name.equals(anotherName)); //true

        Object  city =  "上海";
        Object  province =  "上海";
        System.out.println(city.equals(province)); //true
        
    }

}

源码分析

integer 静态缓存数组
因为 == 点不进去,那就拿equals 开刀
Object

String
String讲解

为啥重写Equals?

    有必要的,因为很多业务场景,我们仅仅需要比较其大小,没必要要求地址必须一致。技术来源生活服务生活,比如我们吃饭是为了充饥,在哪里吃,
 只要物有所值,吃的开心,就很满意,没必要只在一家吃,再举一个例子,轮带漏气要修理,修好是目的,没必要非要选择一家修理厂或者某特定4S店
【产品经理修炼之道】-如何搭建企业级账务系统? 笔者公司的业务模式具有一定的独特性,不同于我们常见的市面上供应链类公司的进销存模式。公司主要为各大银行和金融机构提供信贷领域的风控服务,客户主要通过请求公司的数据产品接口产生费用,可以简单地理解为请求一次接口收费0.5元,一个月若是有1w人请求同一个接口则公司需要收费5000元。 阅读详情

相关推荐

OTA(Over-The-Air)升级

OTA(Over-the-Air)是一种通过无线方式进行数据传输和更新的技术,通常用于电子设备(如智能手机、汽车、物联网设备等)的软件、固件或配置更新。OTA可以在设备与服务器之间进行远程传输,用户无需将设备接入电脑或进行有线操作。通过OTA,用户只需要通过Wi-Fi或移动网络连接,便能自动接收并安装最新的更新,而无需手动干预。OTA的优点是便捷和高效,能够确保设备随时保持最新状态,同时减少用户的操作负担。:如智能家居设备、路由器、汽车等硬件设备的固件更新。:确保设备上的应用保持最新版本。

weixin_50127894的博客 5071

“==“与equls方法的区别详解

= = 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用 == 操作 符。 如果一个变量指向的数据是对象类型的,那么,这时候涉及了两块内存,对象本身占用一块 内存(堆内存),变量也占用一块内存,例如 Objet obj = new Object();变量 obj 是一个内存, new Object...

Kurumi 1250

光电式烟雾传感器实战指南(一) 光迷宫设计与散射原理篇

本文深入解析了光电式烟雾传感器的核心部件——光迷宫的设计原理与光散射机制。文章详细阐述了如何通过精心设计的光学结构实现‘透气不透光’,并重点探讨了前向散射(尤其是135°角)在提升烟雾监测系统灵敏度与可靠性中的关键作用,为DIY爱好者提供了从理论到实践的完整指南。

weixin_29229055的博客 590

Java中的==和equals详解

文章目录三个例子1.==和equals用于String对象的比较2.==和equals用于Object对象的比较3.==和equals用于自定义对象的比较==和equals的本质区别1.==比较的永远是地址2.equals本质上也比较的是地址,但是有些类重写了equals方法,达到比较对象内容的目的3.分析==在比较基本数据类型的时候也是在比较地址吗? 三个例子 1.==和equals用于Stri...

超级无敌小胖头 2021

基于淘宝商城用户购物行为数据分析系统

本文使用HIve+superset技术对阿里云天池提供的淘宝用户购物数据进行处理分析,得到有价值的信息并对平台提出有建设性意义的意见。

m0_51388399的博客 2821

【MATLAB/Simulink】从模型到飞行:基于PX4与Rflysim的无人机MBD实战指南

本文详细介绍了基于MATLAB/Simulink与PX4、Rflysim的无人机模型开发与飞行控制实战指南。通过MBD(基于模型设计)方法,从建模、仿真到代码生成与硬件部署,实现无人机开发的高效闭环。文章涵盖开发环境搭建、动力学建模、控制算法实现及测试验证全流程,为无人机开发者提供实用技巧与优化建议。

weixin_30181209的博客 410

Java基础之==,equal的区别(温故而知新)-----点点滴滴的积累

==和equal的区别和概念

秉持长期主义,保持长期生命力和竞争力 685

【SWAT水文模型】SWAT-CUP参数率定与模型验证实战指南

本文提供了SWAT水文模型参数率定与模型验证的完整实战指南。详细介绍了如何使用SWAT-CUP工具,特别是SUFI-2算法,进行自动化参数校准,并阐述了模型验证的关键步骤以避免过度拟合。内容涵盖从工程搭建、核心参数选择、迭代优化到结果分析与常见问题排查的全流程,旨在帮助用户提升SWAT模型模拟的准确性与可靠性。

weixin_29072299的博客 500

Java的“==”与equals()

经典面试题:== 与 equals 的异同

weixin_42075274的博客 277

【AI智能体】图像处理-生成营销 Banner 图

生成营销 Banner 图是一款用于制作营销图片的智能体,它可以根据指定的营销活动内容,快速生成活动 Banner 图片,降低活动运营成本、提高制图效率。

AI创变工坊,和1000万新个体创业者一起成长!愿大家都能跟上时代的洪流,不被社会淘汰,愿大家的生活工作收入都能具备竞争力! 1175

【YoloV8改进策略】上采样改进|EUCB,轻量高效的上采样模块|即插即用

YOLOv8作为当前最先进的实时目标检测与实例分割模型之一,其在速度与精度之间取得了出色的平衡。然而,在资源受限的边缘设备或对实时性要求极高的应用场景中,YOLOv8的计算开销,尤其是在特征金字塔网络(FPN)和路径聚合网络(PAN)中用于特征融合的上采样操作,仍然是一个瓶颈。YOLOv8的颈部(Neck)结构中广泛使用nn.Upsample进行上采样,该操作虽然简单,但缺乏对特征内容的感知能力,且后续通常需要标准卷积来修复因插值带来的伪影,这增加了不必要的计算负担。

m0_47867638的博客 757

equals与==的区别

一、对象类型不同 1、equals():是超类Object中的方法。 2、==:是操作符。 二、比较的对象不同 1、equals():equals是Object中的方法,在Object中equals方法实际"ruturn (this==obj)",用到的还是"==",说明如果对象不重写equals方法,实际该对象的equals和"=="作用是一样的,都是比较的地址值(因为"=="比较的就是地址值),但是大部分类都会重写父类的equals方法,用来检测两个对象是否相等,即两个对象的内容是否相等,例如S

qq_32521381的博客 2万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

== 与 equals() 的区别

带你全面理解=和equals的区别,从底层到代码实例

NingMaoKing的博客 1628

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

==与.equals的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。     ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。     equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。     ==比较的是两个对象的地址,而equals比较的是两个...

越努力越幸运 4880

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java 中==与equals()的分析

前言 == 和 equals是经久不衰的面试题,记得刚毕业的时候我也被问到过很多次,从最开始的一脸懵逼到最后的从容回答,本文我们就来分析下这两者之间的区别和联系。 为避免阅读疲劳,我这里先放上结论: 联系: 两者都被用来进行比较操作 当equals()未被重写时,两者的用途和比较的内容相同,即都是比较对象的引用地址是否相同 区别: ==既可以比较基本数据类型,亦可用在对象之间。equals(...

LarsCheng's Blog 2058

C# == 与 equals

C#中我们常常要用到这两个方式去做等于判断,那么接下来就一起看一下两者的区别吧。值类型: 结果:在C#中对于值类型的比较不管是用【==】还是【equals】都是对于其内容的比较,也就是说对于其值的比较,相等则返回true 不相等则返回false;引用类型: string 类型: 但是对于除string类型以外的引用类型 【==】比较的是在对象在栈上的引用是否相同而【equals】则比较的是对象在堆上的内容是否相同 结果:而当我定义两个object 引用指向两个string变量时再进行比较 结

have a nice day 3947

== 与 equals的区别

== 与 equals(important) == : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象(基本数据类型比较的是值,引用数据类型比较的是内存地址)。 equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:             情况 1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价

hell21的博客 33万+

equals 与 ==

== 是运算符 对应基础数据类型,== 用于比较值是否相等 对于引用类型,== 用于比较内存地址是否相等,即是否为同一个对象 equals为Object对象中的方法 用于比较两个对象的内存地址是否相等 // Object对象的equals方法 public boolean equals(Object obj) { return (this == obj); } 可以看到,其实Object中的equals本身就是使用 == 来比较内存地址,一般来说,意义不大,所以很多类对equals进行了

zeke_red的博客 1648

C# Equals 与 ==

摘要:C#中Equals与==的区别主要体现在比较机制和适用场景。Equals是虚方法,默认比较引用(可重写为值比较);==是运算符,值类型比较值,引用类型比较引用(可重载)。string类特殊处理,两者均比较内容。自定义类需重写Equals并重载==以实现值比较,同时需配套实现GetHashCode。注意null安全性(Equals需非空调用)和结构体的==需显式重载。建议保持两者行为一致以避免混淆。

LZQqqqqo的博客 1252

==与equals 的分析

博主在学习中发现==和equals 在不同情况下使用结果与预期不一样

HANhylyxy的博客 725

==与equals有什么区别

==与equals的区别 相同点: 1、 == 和equals都是用于完成比较操作 2、 == 和equals的判定结果都是boolean值(true或false) 不同点: 1、 == 是个运算符,本质上用于比较两个值是否相等 2、 ①、使用==运算符比较的值可以是基本类型的值,也可以是引用类型的值 ②、使用==运算符可以比较两个变量中存储的值是否相等 ③、使用==运算符可以直接比较两个字面量是否相等 3、equals是个方法,用于比较当前对象是否与另一个对象相等 4、 ①、当前

阿颜的博客 4503

Java中equals与==的区别及理解

区别: “==” 比较的是两个引用在内存中指向的是不是同一对象(即同一内存空间),也就是说在内存空间中的存储位置是否一致。 equals,常用的是对象里面的内容是否相等 equals方法是由Object类提供的,可以由子类来进行重写 public boolean equals(Object obj) { return (this == obj); } 默认的实现只有当对象...

PIGABUDUR 3395

JAVA之==与equals,equals与hashcode区别与联系

1."=="与equals的区别与联系 (1)“==”对于基本数据类型,只要值相等,就返回true,否则返回false。 若比较的为对象,则判断的是两个对象是否处于同一个内存地址。 (2)equals为Object类中的方法,Object中equals默认使用==来判断,因此一般来讲equals与“==”并无区别,完全相同。 Object是所有类的父类,在不少类中都对equals进行了重写,比如最常用的String类,因此在String中比较的是值,而非地址。 ...

老布丁的博客 1118

== 与 equals 的区别

== : 它的作用是判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。 (基本数据类型==比较的是值,引用数据类型==比较的是内存地址) equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况: 情况1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。 情况2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来比较两个对象的内容是否相等;若它们的内容相等,则返回 true (

Carlos的博客 208
上一篇: Java链式编程
下一篇: MySQL 建表规范
WindwardBird
博客等级 码龄7年 19粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值