关于‘==’与equals的区别

news2025/1/19 17:16:22

我写的也不清楚,有兴趣的可以看这位大佬的文章链接,说的很清楚

https://www.cnblogs.com/Latiny/p/8099581.html#!comments

 == 与 equals 方法

  判断两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals方法。

注意:==比较的是地址引用,equals在String中重写了比较的是内容是否相等,但是她原本也是默认比较地址引用的,如果是自己定义的对象进行比较,需要注意这一点,具体我举了两个例子

  ① 比较java基本类型:

  比较基本类型只能用"==",不能用"equals",这里的"=="比较的是两个基本类型的值;

  ② 比较包装类:这里拿Integer,Character 来举例

String s1 = "latiny";
String s2 = "latiny";   
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
String s3 = new String("latiny");
String s4 = new String("latiny");
System.out.println(s3 == s4);
System.out.println(s3.equals(s4));

输出结果: 

false
true
false
true

④ 比较对象:

  这里"=="比较的是内存地址,"equals"比较的也是地址,没有重写equals方法的类都是调用的Object的equals的方法。
1         Person p1 = new Person(1001, "latiny1");
2         Person p2 = new Person(1001, "latiny1");
3         
4         System.out.println(p1 == p2);
5         System.out.println(p1.equals(p2));

输出结果:

false
false

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv9全网最新改进系列::YOLOv9完美融合双卷积核(DualConv)来构建轻量级深度神经网络,目标检测模型有效涨点神器!!!

YOLOv9全网最新改进系列::YOLOv9完美融合双卷积核(DualConv)来构建轻量级深度神经网络,目标检测模型有效涨点神器!!! YOLOv9原文链接戳这里,原文全文翻译请关注B站Ai学术叫叫首er …

Flutter 依据JSON数据自动生成实体类

json自动化生成工具 点击这里可以跳转 页面是这样的 然后在左边输入你的json数据,它会自动生成对应的实体类 生成的实体类是如下: import package:json_annotation/json_annotation.dart; part merch_region.g.dart;JsonSerializable()class MerchReg…

Java面试八股之反射慢在哪里

Java反射慢在哪里 动态类型检查: 在反射过程中,Java需要在运行时确定类、方法、字段等的类型信息。这与编译时已经确定类型信息的常规对象访问不同,反射需要额外的类型查询和验证,增加了性能开销。 安全检查: 反射…

【流体模拟-01】如何模拟静态流(上)

文章目录 一、说明二、摘要三、简介四、稳定的纳维-斯托克斯4.1 基本方程4.2 解决方法 一、说明 关于流体物质的仿真和模拟,需要流体理论方面的一般知识。我们这里从基本流体方程入手,详细解释如何实现流体仿真的每一个具体步骤。 二、摘要 构建类似流体…

应急救灾北斗终端手机应用方案

在应对自然灾害和紧急救援的严峻挑战中,技术的力量从未如此重要。为了保障救援人员能够迅速、准确地响应灾情,提供及时有效的救助,顶坚应急救灾北斗终端手机应用应运而生。这款应用依托北斗卫星导航系统的高精度定位与通信功能,不…

企业OA办公系统开发笔记:2、MyBatis-Plus

文章目录 企业办公系统:2、MyBatis-Plus一、MyBatis-Plus1、简介2、主要特点3、依赖 二、MyBatis-Plus入门1、配置文件2、启动类3、实体类4、添加Mapper类5、测试Mapper接口6、CRUD测试6.1、insert添加6.1.1、示例6.1.2、主键策略 6.2、更新6.3、删除6.3.1、根据id删…

LoRA Land: 310个经微调的大语言模型可媲美GPT-4

摘要 低秩自适应 (LoRA) 已成为大语言模型 (LLM) 参数有效微调 (PEFT) 中最广泛采用的方法之一。LoRA 减少了可训练参数的数量和内存使用,同时达到了与全面微调相当的性能。该研究旨在评估在实际应用中训练和服务使用 LoRA 微调的 LLM 的可行性。首先,该研究测量了在 10 个基础…

学校为何更热衷于使用SOLIDWORKS教育版教学

在当今的教育环境中,SOLIDWORKS教育版因其独特的优势,越来越受到学校的青睐。为什么学校更热衷于使用SolidWorks教育版进行教学呢?本文将从以下几个方面进行阐述。 首先,SOLIDWORKS教育版为学生们提供了一个与实际工程应用紧密结…

java学习之zip炸弹攻击

一、概述 Zip炸弹是一种特殊类型的Zip文件,它包含了大量的无用数据。Zip文件格式允许使用压缩算法来减小文件的大小,但是如果Zip文件中的某些内容被重复压缩,就会导致文件大小急剧增加。Zip炸弹利用这个特性,将一些无用的数据多次…

vscode调试Electron+ts

调试Electronjs 调试Electronjs: https://www.electronjs.org/zh/docs/latest/tutorial/debugging-vscode 调试Electronts 首先看一下,我的目录结构。目录结构决定了launch.json中的路径部分。我将在项目根目录下进行调试,项目根目录下包含electron代码…

Windows Qt中支持heic 图片显示

安装vcpkg: git clone https://github.com/microsoft/vcpkg 执行脚本: .\vcpkg\bootstrap-vcpkg.bat 在安装之前如果需要指定vs的编译器, 在如下文件中做更改, 我指定的是用vs2019编译的: D:\vcpkg\vcpkg\triplets 增…

腐烂的橘子 - (LeetCode)

一、概述 994. 腐烂的橘子 - 力扣(LeetCode),今天刷到这道题,开始按照自己实现的思路写了一次,通过了调试,但是提交的时候,来了一个大的数据,就没有通过测试,百思不得其…

Redis-持久化操作-RDB

Redis持久化 由于Redis的数据都存放在内存中,如果没有配置持久化,Redis重启后数据就全丢失了,于是需要开启 Redis的持久化功能,将数据保存到磁盘上,当Redis重启后,可以从磁盘中恢复数据。 Redis提供了两个…

内联函数+auto关键字(C++11)+指针空指针nullptr(C++11)

内联函数auto关键字(C11)指针空指针nullptr(C11)详解 内联函数概念特性 auto关键字(C11)auto简介auto的使用细则auto不能推导的场景 基于范围的for循环(C11)范围for的语法范围for的使用条件 指针空指针null…

2024年 C++音视频开发学习路线(ffmpeg/rtsp/srs/webrtc/hls)

在音视频工作领域,很多人可能会陷入徘徊和迷茫的境地。音视频的知识纷繁复杂,自己学习非常困难,既需要非常扎实的基础知识,又需要有很多的工程经验;不知道如何学,怎样才能查漏补缺自己的技术短板。 对于音…

gpg从公钥服务器接收失败(gpg: keyserver receive failed: Server indicated a failure)

一、使用背景 apt update时发现错误,与签名相关。 于是添加签名(最后的签名编号换成自己的) apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 871920D1991BC93C但是这时候报错了,服务器连接不上 二、解决方案 …

从零开始学习Linux(6)----进程控制

1.环境变量 环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,我们在编写C/C代码时,链接时我们不知道我们链接的动态静态库在哪里,但可以连接成功,原因是环境变量帮助编译器进行查找,环境变量通常具有…

Spring Boot + Mybatis-plus代码生成器 自动生成项目结构

首先创建一个新的springboot项目 项目初始化结构如下: 运行自动生成结构代码后的效果如下: 对比初始化项目结构可以发现结构中多了以下几个部分; controller文件夹存储接口类mapper文佳夹存储数据库映射model文件夹存储数据库模型类Service文件夹存储业…

在做题中学习(58):和为K的子数组

560. 和为 K 的子数组 - 力扣(LeetCode) 因为是判断子数组的和 要返回 k 的次数,所以 解法:前缀和 哈希表 提出一个概念:以下标i为结尾的所有子数组 那要找出所有和 k的子数组 就相当于:找出所有值为…

OpenAI发布最新的人工智能模型GPT-4o:可实时语言、图像交互

OpenAI 在周一宣布了一款新的旗舰生成式 AI 模型,他们将其称为 GPT-4o — 这里的 “o” 意指 “全方位”,指的是该模型处理文本、语音和视频的能力。GPT-4o 将会在接下来的几周逐步在公司的开发者和消费者产品中推出。 OpenAI 首席技术官米拉穆拉蒂表示…