项目实战09—数据类型不一致导致equals判断为false

简介: 项目实战09—数据类型不一致导致equals判断为false

一.问题背景

在这里发现了问题是,左边long类型,右边string类型,值相同,但是用equals()判断不相等,类型不匹配返回false的问题。

二.问题复现 这里通过一个demo复现问题来进行验证

定义了Long类型的first,和String类型的second和third

package com.equals;
public class DifferentType {
    public static void main(String[] args){
        Long first=555L;
        String second="555";
        String third="555";
        System.out.println("类型判断不一致"+first.equals(second));
        System.out.println("类型判断一致"+second.equals(third));
    }
}

结果如图,复现了问题,String和Long类型不同,则equals()判断返回false

三.问题分析

Ctrl+双击equals,查看equals源码

instanceof 是 Java 的保留关键字,它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型

原理:包装类重写了equals方法,在equals方法中判断传入的对象是不是包装类的实例(instanceof),如果不是的话就返回false,这是本问题的原因所在

equals如果没有进行重写操作,比较的是两个对象的地址,如果重写,那么按照重写方法内的逻辑进行判断。所以如果不重写的话,所有的String类型比较都是相等的。因此包装类类型都重写了equals方法

相关文章
|
安全 搜索推荐 vr&ar
脑机接口:人类认知与技术的深度融合
【9月更文挑战第13天】脑机接口(BMI)技术正快速发展,成为连接人类认知与高科技领域的桥梁。本文从定义、原理、应用及挑战等方面全面探讨了这一前沿技术。脑机接口通过测量大脑活动,转化为外部设备的控制信号,已在疾病治疗、运动功能恢复、认知改善及AR/VR等领域展现巨大潜力。然而,技术难度、伦理安全及成本问题仍需克服。未来,随着技术进步,脑机接口有望更广泛地应用于日常生活,引领科技新方向。
Java的变量的作用域
Java的变量的作用域
318 1
|
存储 分布式计算 Hadoop
Hadoop的HDFS数据均衡
【6月更文挑战第13天】
683 3
|
JavaScript 前端开发
【Web 前端】JS中检测数据类型的有哪些?
【4月更文挑战第22天】【Web 前端】JS中检测数据类型的有哪些?
|
传感器 监控 安全
物联网技术在智能家居安全监控中的应用
物联网技术在智能家居安全监控中的应用
|
Java Nacos 开发者
Nacos无法启动详解:Please set the JAVA_HOME variable in your environment, We need java(x64) jdk8 or later
Nacos无法启动详解:Please set the JAVA_HOME variable in your environment, We need java(x64) jdk8 or later
6790 1
|
SQL 监控 安全
网站管理以及开发人员如何使网址的访问更加安全可靠呢?
确保网站安全的12个步骤:启用HTTPS加密,使用可信SSL/TLS证书,保持浏览器更新,实行强密码策略和多因素认证,定期更新软件,控制访问权限,安全编码,应用内容安全策略,监控日志,防DDoS攻击,备份数据并制定恢复计划,以及定期进行渗透测试和安全审计。这些措施能有效保护网站和用户数据的安全。
599 1
|
存储 Linux Python
Linux命令行上传文件到百度网盘
最近在学习 MySQL 的 bin-log 时候考虑到数据备份的问题,突然想到如果能将数据通过 Linux 命令行方式备份到百度网盘,那是一件多么牛逼的事情。百度网盘有免费的 2TB 存储空间,而且有百度做靠山,不怕数据丢失,安全可靠。
3644 0
|
算法 数据挖掘 调度
数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)
数据驱动的两阶段分布鲁棒(1-范数和∞-范数约束)的电热综合能源系统研究(Matlab代码实现)
307 0
|
XML Java 数据格式
深入理解Spring IOC之扩展篇(九)、SpringBoot中重要event介绍,顺便简单讲下SB的启动流程(一)
深入理解Spring IOC之扩展篇(九)、SpringBoot中重要event介绍,顺便简单讲下SB的启动流程(一)
280 0