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对象的内容是否相同

相关推荐
噢,我明白了1 分钟前
Java中日期和字符串的处理
java·开发语言·日期
爱刷碗的苏泓舒1 分钟前
C 语言 if-else 与 switch-case 分支语句对比
c语言·开发语言
dkbnull8 分钟前
Spring Boot请求处理组件对比详解
java·spring boot
jun_bai9 分钟前
Orthanc服务器使用java上传dicom影像文件
java·运维·服务器
-银雾鸢尾-11 分钟前
C#中的泛型约束
开发语言·c#
顺风尿一寸11 分钟前
记一次 Spring AOP 与定时任务引发的死锁排查
java
用户4461394302715 分钟前
从单体到微服务:我们项目的拆分思路和踩坑记录
java
雪碧透心凉_41 分钟前
while 循环与循环嵌套
开发语言·python
TDengine (老段)1 小时前
TDengine 免费版说明
java·大数据·数据库·物联网·时序数据库·tdengine
乐观勇敢坚强的老彭1 小时前
信奥C++一维数组笔记
开发语言·c++·笔记