Java入门基础:浅显易懂 ==和equals的区别

1.==

用来比较变量的值是否相同

基本数据类型:比较的是它们的值是否相同

引用数据类型:比较的是它们的内存地址是否是同一地址
注意:如果比较的是基本数据类型的包装类,比如Integer。那么比较的也是它们的值是否相同,相当于是在比较基本数据类型。因为这里涉及到了包装类的自动装箱/自动拆箱问题。

java 复制代码
	@Test
    public void test10(){
        Integer num = 10;
        if (num == 10){ // 包装类使用 == 比较的是它们的值
            System.out.println("num == 10 结果为 true");   // 会打印这个语句
        }
    }

2.equals()

equals()是Object类中的一个方法,Java中的所有类都继承了Object,因此所有的类都有equals()

java 复制代码
	// Object中定义的 equals()方法如下:
	public boolean equals(Object obj) {
        return (this == obj);
    }

不重写equals():实际使用的也是==操作符,比较的是它们的内存地址是否是同一地址

重写equals():可以自己定义equals()的比较逻辑,一般是用来比较String对象的内容是否相同

相关推荐
较真的菜鸟5 小时前
使用ASM和agent监控属性变化
java
黎雁·泠崖6 小时前
【魔法森林冒险】5/14 Allen类(三):任务进度与状态管理
java·开发语言
2301_763472466 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
TechWJ7 小时前
PyPTO编程范式深度解读:让NPU开发像写Python一样简单
开发语言·python·cann·pypto
qq_12498707537 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
Coder_Boy_7 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Mr_sun.7 小时前
Day06——权限认证-项目集成
java
瑶山7 小时前
Spring Cloud微服务搭建四、集成RocketMQ消息队列
java·spring cloud·微服务·rocketmq·dashboard
abluckyboy7 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
lly2024067 小时前
C++ 文件和流
开发语言