Java中==符号与equals()的使用详解(测试两个变量是否相等)

发布时间 - 2026-01-11 02:09:51    点击率:

Java 程序中测试两个变量是否相等有两种方式:一种是利用 == 运算符,另一种是利用equals()方法。

当使用 == 来判断两个变量是否相等时,如果两个变量是基本类型变量,且都是数值类型(不一定要求数据类型严格相同),则只要两个变量的值相等,就返回true。

但是对于两个引用类型变量,只有它们指向同一个对象时, == 判断才会返回true。 == 不可用于比较类型上没有父子关系的两个对象。

很多书上说equals()方法是判断两个对象的值相等。这种说法不准确。实际上equals()方法是Object类提供的一个实例方法,因此所有的引用变量都可以调用该方法来判断是否与其它引用变量相等。但是使用这个方法判断两个对象相等的标准与使用 == 运算符没有区别,同样要求两个变量指向同一个对象才会返回true。因此这个Object类提供的equals()方法没有太大的实际意义,如果希望采用自定义的相等标准,则可采用重写equals方法来实现。

String已经重写了Object的equals()方法,String 的equals()方法判断两个字符串相等的标准是:只要两个字符串所包含的字符序列相同,通过equals()比较将返回true,否则返回 false。

如下列程序所示:

public class EqualTest {

public static void main(String[] args) {
int num1 = 65;
float num2 = 65.0f;
//将输出true
System.out.println("65和65.0f是否相等?"+(num1==num2));
char ch = 'A';
//将输出true
System.out.println("65和‘A'是否相等?"+(num1==ch));
String str1 = new String("hello");
String str2 = new String("hello");
//将输出false
System.out.println("str1和str2是否相等?"+(str1==str2));
//将输出true
System.out.println("str1和str2是否相等?"+str1.equals(str2));
}

}

程序运行结果如图:

以上这篇Java中==符号与equals()的使用详解(测试两个变量是否相等)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# java中equals用法  # Java equals()方法使用详解及总结  # 详解Java中==和equals()的区别  # Java中==和equals()的区别总结  # Java中equals()方法实例详解  # Java中equals()方法重写实现代码  # 详解Java中“==”与equals()的区别  # Java中的== 和equals()方法详解与实例  # 详解java==运算符和equals()方法的区别  # Java自定义实现equals()方法过程解析  # Java中equals()方法的理解与使用方法例子  # 才会  # 给大家  # 都是  # 运算符  # 太大  # 希望能  # 写了  # 自定义  # 重写  # 如图  # 所示  # 这篇  # 有两种  # 则可  # 来实现  # 方法来  # 小编  # 使用这个  # 书上  # 大家多多 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Angular 表单中正确绑定输入值以确保提交与验证正常工作  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  JavaScript如何操作视频_媒体API怎么控制播放  Laravel如何创建自定义Facades?(详细步骤)  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何在服务器上配置二级域名建站?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  原生JS实现图片轮播切换效果  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  昵图网官方站入口 昵图网素材图库官网入口  如何快速生成专业多端适配建站电话?  如何快速重置建站主机并恢复默认配置?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Linux后台任务运行方法_nohup与&使用技巧【技巧】  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何在IIS中新建站点并解决端口绑定冲突?  Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知  音响网站制作视频教程,隆霸音响官方网站?  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  大同网页,大同瑞慈医院官网?  详解jQuery中的事件  iOS验证手机号的正则表达式  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何快速生成ASP一键建站模板并优化安全性?  Python高阶函数应用_函数作为参数说明【指导】  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  免费网站制作appp,免费制作app哪个平台好?  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  HTML 中动态设置元素 name 属性的正确语法详解  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在腾讯云免费申请建站?  Android利用动画实现背景逐渐变暗  网页设计与网站制作内容,怎样注册网站?  Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册  在线教育网站制作平台,山西立德教育官网?  EditPlus中的正则表达式 实战(2)  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】