操作符“==”与对象的equals()方法

    很多时候都会用到类型或者是对象是否相等的比较应用,需要总结一下。

    操作符“==”是用来比较两个操作元是否相等,两个操作元可以是基本类型,也可以是引用类型,如果是引用类型变量,两个变量必须是同一个对象,结果才是true。

举例如下:

 int i1= 1,i2=2,i3=1;
 boolean b1=false,b2=true,b3= false;
 String s1="test",s2 ="test_2",s3="test",s4;
 s4 = new String("test");
 System.out.println("i1==i2:"+(i1==i2)+" i1==i3:"+(i1==i3));
 System.out.println("b1==b2:"+(b1==b2)+" b1==b3:"+(b1==b3));
 System.out.println("s1==s2:"+(s1==s2)+" s1==s3:"+(s1==s3)+" s1==s4:"+(s1==s4));

 

输出:

i1==i2:false i1==i3:true
b1==b2:false b1==b3:true
s1==s2:false s1==s3:true s1==s4:false
   对于equals()方法,java.io.Object类中定义了equals方法,用来比较两个对象是否相等。其实在对象是否相等的问题上,==和equqls()是效果一样的,但是由于JDK类中有一些类覆盖了oject类的equals()方法,比较规则为:如果两个对象的类型一致,并且内容一致,则返回true,这些类有:java.io.file,java.util.Date,java.lang.string,包装类(Integer,Double等)。 举例如下:

    Integer int1 = new Integer(1);
 Integer int2 = new Integer(1);
 
 String str1 = new String("test");
 String str2 = new String("test");
 System.out.println("int1==int2:"+(int1==int2)+" int1.equals(int2):"+int1.equals(int2));
 System.out.println("str1==str2:"+(str1==str2)+" str1.equals(str2):"+str1.equals(str2)); 

输出:

int1==int2:false int1.equals(int2):true
str1==str2:false str1.equals(str2):true

 

    注意:对于那些没有覆盖equals()的类,功能应用还是一样的

【人工智能之深度学习】15. 工业时序预测实战:LSTM与TCN融合的装备故障预警系统设计与实现 摘要:工业装备故障预警是智能制造领域的核心技术之一,其通过分析传感器时序数据实现故障提前预测,可显著降低运维成本并提升设备可靠性。本文针对工业时序数据多源异构、非平稳性、噪声干扰及样本不平衡等挑战,提出一种LSTM与TCN融合的故障预警架构——利用TCN捕捉局部时序特征,结合注意力增强LSTM建模长期依赖关系,通过门控机制实现特征自适应融合。以3MW风电齿轮箱为研究对象,设计包含数据预处理、特征工程、模型训练及部署的完整流程,实验结果表明,该融合模型准确率达94.6%,故障预测提前量较单一模型提升30%以上 阅读详情

相关推荐

从想法到零件:手把手拆解一个汽车功能如何从PRD写到SSTS和CTS

本文详细拆解了汽车电子需求从市场文档(MRD)到零部件技术规范(CTS)的完整流程,以雨天自动关窗功能为例,展示了PRD、SSTS和CTS的编写要点与交互设计。文章重点解析了系统分解的艺术和零部件落地的精确参数要求,为汽车电子工程师提供了从概念到实现的全流程实践指南。

weixin_30300225的博客 481

运算符知识易混点

1、逻辑运算符&与位运算符&的区分 boolean b1 = true; boolean b2 = false; boolean b3 = b1&b2; //false;此时是逻辑与 int i1 = 1; int i2 = 2; int i3 = i1&i2; //1;此时为位与 //总结:比较布尔值时为逻辑与,比较数字时为位与 2、逻辑与与短路与 boolean b1 = true; int i=1; //当第一个条件为

AAcaterpillar的博客 333

数据讲述中国故事!和鲸助力中国综合社会调查(CGSS)数据分析与可视化大赛圆满收官

用数据研究中国问题、总结中国道路、讲述中国故事。和鲸作为协办单位全程支持本次大赛,为中国人民大学中国调查与数据中心实施全套赛事系统,同时提供完备而周全的赛事运营服务。

ModelWhale的博客 1410

简单Boolean的熟悉

复习要点

m0_62606371的博客 239

【网络协议】TCP的拥塞控制机制

前言 计算机网络中的带宽、交换节点中的缓存和处理机等,都是网络的资源,在某段时间内,若对网络中某一资源的需求超过了该资源所能提供的可用部分,网络的性能就要变坏,这种情况就叫做拥塞。 所谓拥塞控制,就是防止过多的数据注入到网络中,从而使网络中的路由器或链路不致过载。要注意用拥塞控制与流量控制的区别,拥塞控制是一个全局性的过程,涉及到所有的额主机、路由器,以及与降低网 拥塞控制的算法有:慢开始、拥塞避免、快重传、快恢复四种。 慢开始和拥塞避免 发送方维持一个拥塞窗口的状态变量,其大小取决于网络的拥塞程度

兰亭风雨的专栏 1万+

【网络】Ikuai中如何添加/更换虚拟机(图文)

Ikuai 添加虚拟机教程

qq_20623849的博客 6536

java基础之算数运算符

一、算数运算符 1、 + 、-、*、/、% 用法如下: int num1=10; int num2=5; int result= num1+num2; System.out.println(result);//15 System.out.println(10-5); //5 System.out.println(10*5);//50 System.out.println(10/5);//2 System.out.println(10%3);//1 2、++(自增1)、–(自减1) ++自增1 用法: ++

weixin_46895323的博客 734

Bentley ORD(openroads designer) 二次开发(BIM)第七节 在ORD SDK中调用MicroStation SDK

从课程刚开始的时候我们就通过学习,了解了ORD的开发是基于MicroStation的,ORD SDK的接口发布的时候也对MicroStation SDK也做了一次发布。这一章将以我们对ORD SDK知识的了解为基础,使用ORD SDK的接口读取道路几何信息、计算桩号,然后再使用MicroStation SDK 读取地形数据和计算投影点的位置,并创建一组方柱形状的Soild。计算方柱底部坐标要经过两大步骤,通过路线的桩号及偏移距离去定位方柱的平面位置,通过方柱的平面位置计算数字地面模型上的投影点的坐标。

chen286990651的博客 881

力扣练习4(十题)

412. Fizz Buzz

qq_44716544的博客 429

三级等保网络拓扑图实战:从零搭建符合标准的医院安全架构

本文详细阐述了如何从零开始设计并搭建符合三级等保标准的医院网络安全架构。文章基于“一个中心,三重防护”的核心框架,深入解析了医院网络分区设计、安全域划分、关键安全设备选型与配置等实战要点,并提供了绘制专业网络拓扑图的技巧与等保测评准备指南,旨在帮助医院IT人员系统化地构建既合规又实用的纵深防御体系。

weixin_29326909的博客 504

(14-3)值分布式算法:QR-DQN (Quantile Regression DQN)算法

QR-DQN(Quantile Regression DQN)是一种强化学习算法,它是深度 Q-网络(Deep Q-Network,DQN)的一个变种,旨在更好地处理值函数的不确定性。QR-DQN的实现步骤与传统的DQN类似,但在目标分布计算和损失函数方面有一些不同之处,这使得它能够更好地处理值函数的不确定性。QR-DQN(Quantile Regression DQN)算法的核心思想是将值函数表示为一个分布,而不是传统的单一值估计。在下面的内容中,将讲解一个使用QR-DQN算法的例子。

码农三叔 2053

Java 基础知识点 笔记总结 (二)

1. 算术运算符2. 算术运算符3. 比较运算符4. 逻辑运算符5. 位运算符 6. 交换数据 的三种方式7. 三元运算符8. 运算符优先级9. 流程控制10. 分支结构(流程控制) - if ... else语句11. 使用Scanner从键盘中获取不同类型的数据12. 分支结构(流程控制) - switch-case结构13. for循环14. while 循环15. do-while 循环16. while(true) 和 for( ; ; ) 的用法17. 嵌套循环18. break 和 conti

探索技术与实践的旅程,分享编程经验与工具使用心得,助力开发者提升技能。 5185

【保姆级教程】教你如何轻松获取MIMIC数据使用权限

文章非常详细地介绍了MIMIC数据库申请使用的全部步骤。

越努力 越幸运 6600

操作符“==” 与 对象的equals()方法

操作符 “==”         当操作符“==”两边都是引用类型变量时,这两个引用变量必须都引用同一个对象,结果才为true。例如: Integer int1 = new Integer(1); Integer int2 = new Integer(1); Integer int3 = int1;//int3和int...

爱吃鱼的ねこ的博客 145

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

操作符 “==” 与对象的 equals() 方法

操作符 “==” 用来比较两个操作元是否相等,这两个操作元既可以是基本类型,也可以是引用类型。 在 java.lang.Object 类中定义了 equals() 方法,比较两个对戏那个是否相等。 当操作符 “==” 两边都引用类型变量时,这两个引用变量必须引用同一个对象,结果才为 true。 操作符 “==” 与多态性 对于引用类型变量,Java 编译器根据变量被

Fish3812的专栏 681

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

java中操作符“==”与对象equals()方法的比较

1、“==” 用来比较两个操作元是否相等,操作元可以是基本数据类型,也可以是引用类型。. 2、equals()方法用来比较两个对象是否相等。 对象为基本类型 int a=1,b=2; a==b //false int a=1,b=1; a==b //true 对象为引用类型 Integer int1=new Integer(1); Integer int2=new Int

say_haha的博客 478

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

5-7面向对象编程(中)----“==”操作符与equals()方法

“==”操作符与equals()方法 一、“==”操作符 1.可以使用再基本数据类型和引用数据类型 2.按分类情况说明 (1)如果比较的是基本数据类ing,比较两个变量保存的数据是否相等,不一定类型要相同。 (2)如果比较的是引用数据类型,比较两个对象的地址值是否相同。 二、equals()方法的使用 1.是一个方法,而非运算符 2.只能适用于引用数据类型 3.Object类中equals()的定义: public boolean equals(Object obj) { return (

wp_886的博客 214

5-7面向对象编程(中)----“==”操作符与equals()方法练习

1.编写Order类,有int型的orderId,String型的orderName,相应的getter()和setter()方法,两个参数的构造器,重写父类的equals()方法:public boolean equals(Object obj),并判断测试类中创建的两个对象是否相等。 代码: package exer4; public class OrderTest { public static void main(String[] args) { Order o1 = new Order(

wp_886的博客 178

java中的equals()方法和操作符“==”

equals()方法是java中基本类型object类的一个方法,因为java中的包装类(Byte,Integer,Short,Character,Long,Float,Double,Boolean)覆盖了object类的equals()方法,实现了按值比较,所以当运用包装类上的equals()方法时比较的是值是否相等。对于操作符“==”,如果是java基本类型(int...)则...

aieb4954的博客 90

Java中对象的==、equals和hashcode

含有相同的内容。      hashCode()的返回值和equals()的关系如下:   如果x.equals(y)返回“true”,那么x和y的hashCode()必须相等。   如果x.equals(y)返回“false”,那么x和y的hashCode()有可能相等,也有可能不等。      

army27的专栏 84

五分钟学Java:如何比较 Java 的字符串?

在逛 Stack Overflow 的时候,发现了一些访问量像喜马拉雅山一样高的问题,比如说这个:如何比较 Java 的字符串?访问量足足有 370万+,这不得了啊!说明有很多很多的程序员被这个问题困扰过。 PS:系列文章回顾:《Stack Overflow 上250万浏览量的一个问题:你对象丢了》 我们来回顾一下提问者的问题: 截止到目前为止,我一直使用“”操作符来比较字符串,直到程序出现了一...

沉默王二 5721

如何比较 Java 的字符串

在逛 Stack Overflow 的时候,发现了一些访问量像喜马拉雅山一样高的问题,比如说这个:如何比较 Java 的字符串?访问量足足有 370万+,这不得了啊!说明有很多很多的程序员被这个问题困扰过。 PS:之前写过一篇《Stack Overflow 上 250万 浏览量的一个问题:你对象丢了》,阅读量还不错,这给了我极大的信心继续把这个系列写下去。 我们来回顾一下提问者的问题: ...

巡山小妖008 151

JAVA字符串的比较

JAVA 字符串比较是否相等 equals()比较的是对象的内容(区分字母的大小写格式),但是如果使用“==”比较两个对象时,比较的是两个对象的内存地址,所以不相等。即使它们内容相等,但是不同对象的内存地址也是不相同的。

hw_hi的博客 218

常见Java面试题 – 第二部分:equals与==

英文原文:Java Success ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一。上一篇是《Java 面试题问与答:编译时与运行时》。你可以从这里查看全部的Java面试系列。 Q2.下面的代码片段的输出是什么? 1 2 3 4 5 6 7 8 Object s1 = new Strin...

weixin_30559481的博客 196

equals和==的区别_equals与”==”的区别

equals()和“==”操作用于对象的比较,检查俩对象的相等性,但是他们俩的主要区别在于前者是方法后者是操作符。由于java不支持操作符重载(overloading),“==”的行为对于每个对象来说与equals()是完全相同的,但是equals()可以基于业务规则的不同而重写(overridden )。另一个需要注意的不同点是“==”习惯用于原生(primitive)类型之间的比较,而equa...

weixin_32801895的博客 2万+

Java学习-“==“操作符和equals()方法

1、== 操纵符 1.1基本类型比较值:只要两个变量的值相等,即为true int a = 5; int b = 6; if(a==b) { System.out.println("a与b相等"); }else{ System.out.println("a与b不相等"); } 1.2引用类型比较引用(是否指向同一个对象即是否指向同一个堆内地址) 只有当两个引用指向同一个堆内地址时,==才返回true package com.zhukun; class Person { pu

jQueryZK的博客 9913
上一篇: Oracle-解除死锁方法
下一篇: Java Socket编程的详细介绍-1
ccfangle
博客等级 码龄20年 1粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值