Java中equals与 “==” 的区别

首先我们要掌握基本数据类型和引用类型的概念

基本数据类型:

byte,short,int,long,float,double,boolean,char

基本的八大数据类型都各自封装着包装类,提供了更多的方法,并且都是引言类型

引用类型:

引用类型主要是一些类、接口、数组。

引用类型变量中主要存储的是地址,对应的地址存档数据

"=="和equals()方法的区别和联系

"=="比较基本数据类型时比较的是表面值,比较两个对象的是和比较的是两个对象的内存地址值。

对于equals()方法,基本数据类型没有equals()方法

如果没有对equals()方法进行重写,则比较的是引用类型的变量所指向的对象的地址

比如String、Date等类对equals()进行重写的话,比较的就是所指向的对象内容了。

概括:

== 在基本数据类型中比较:值,引用类型中:地址

equals()重写:值 ,equals()不重写:地址

相关推荐
sg_knight1 分钟前
设计模式实战:策略模式(Strategy)
java·开发语言·python·设计模式·重构·架构·策略模式
麦麦鸡腿堡2 分钟前
JavaWeb_SpringBootWeb,HTTP协议,Tomcat快速入门
java·开发语言
码云数智-园园4 分钟前
前端跨域全解析:核心原理、解决方案选型与实战指南
开发语言
Mistra丶4 分钟前
记一次 JVM+Postgresql的 “死锁” 问题排查
jvm·数据库·postgresql·死锁
qq_417695055 分钟前
内存对齐与缓存友好设计
开发语言·c++·算法
2301_816651226 分钟前
实时系统下的C++编程
开发语言·c++·算法
一然明月6 分钟前
Qt QML 锚定(Anchors)全解析
java·数据库·qt
晓纪同学6 分钟前
EffctiveC++_02第二章
java·jvm·c++
2401_831824967 分钟前
C++与Python混合编程实战
开发语言·c++·算法