前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Java中==和equals的区别

Java中==和equals的区别

作者头像
JaneYork
发布于 2023-10-11 05:52:58
发布于 2023-10-11 05:52:58
1610
举报

java中的数据类型,可分为两类: 

1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 

  他们之间的比较,应用双等号(==),比较的是他们的值。 

2.复合数据类型(类) 

  当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。

  对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

如果两个对象根据equals()方法比较是相等的,那么调用这两个对象中任意一个对象的hashCode方法都必须产生同样的整数结果。

如果两个对象根据equals()方法比较是不相等的,那么调用这两个对象中任意一个对象的hashCode方法,则不一定要产生相同的整数结果

如果String缓冲池内 不存在 与其指定值相同的String对象,那么此时虚拟机将为此创建新的String对象,并存放在String缓冲池内。

如果String缓冲池内 存在 与其指定值相同的String对象,那么此时虚拟机将不为此创建新的String对象,而直接返回已存在的String对象的引用。

运行结果:true

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据结构:排序
外部排序:是指在排序期间元素无法全部同时存在内存中,必须在排序的过程中根据要求不断地在内、外存之间移动的排序
HLee
2021/02/09
6660
数据结构:排序
面试中可能被问到的常用排序算法
排序算法是一种比较简单的算法,从我们一开始接触计算机编程开始接触的可能就是排序或者搜索一类的算法,但是因为排序在其他的一些算法中应用较多,所以为了提高性能已经研究了多种排序算法。目前区别排序算法主要还是以时间复杂度,空间复杂度,稳定性等来排序,接下来我们分别分析。
本人秃顶程序员
2019/05/12
7230
面试中可能被问到的常用排序算法
数据结构初阶之排序(上)
排序:所谓排序,就是使⼀串记录,按照其中的某个或某些关键字的⼤⼩,递增或递减的排列起来的操作。
用户11289931
2024/09/24
1080
数据结构初阶之排序(上)
【数据结构】排序(上)
排序就是按照某一关键字递增和递减排列起来的操作 排序在生活中非常常用,成绩、排行等等一切跟数字字母等有关的都能够排序
s-little-monster
2024/06/12
920
【数据结构】排序(上)
Python数据结构与算法 实现八大经典排序算法
在面试题中可能会遇到排序算法,毕竟作为程序员内功心法,熟练掌握排序算法是很重要的,本文总结了八大经典排序算法的 Python 实现。排序算法是《数据结构与算法》中最基本的算法之一。排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
叶庭云
2021/12/01
3520
Python数据结构与算法  实现八大经典排序算法
[数据结构]————排序总结——插入排序(直接排序和希尔排序)—选择排序(选择排序和堆排序)-交换排序(冒泡排序和快速排序)—归并排序(归并排序)
插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素逐个插入到已排序序列中的适当位置,直到全部元都插入完毕。插入排序包直接插入排序和希尔排序。
小李很执着
2024/06/15
2330
[数据结构]————排序总结——插入排序(直接排序和希尔排序)—选择排序(选择排序和堆排序)-交换排序(冒泡排序和快速排序)—归并排序(归并排序)
万字长文|十大基本排序,一次搞定!
大家好,我是老三,一个刷不动算法的程序员。排序算法相关题目尽管在力扣中不是很多,但是面试中动不动要手撕一下。接下来,我们看一下十大基本排序,
三分恶
2021/09/08
5530
【数据结构阅览室】初阶数据结构之排序
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
小文要打代码
2024/10/16
940
【数据结构阅览室】初阶数据结构之排序
数据结构——排序算法
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,以升序为例,一次比较两个元素,如果它们的顺序错误(前一个元素大于后一个元素)就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
HZzzzzLu
2024/11/26
1110
数据结构——排序算法
【数据结构】七大排序算法
排序的相关概念 排序的分类 根据在排序过程中带排序的记录是否全部被放置在内存中,排序分为: 内排序 外排序 1.内排序 内排序是在排序整个过程中,带排序的所有记录全部放置在内存中。 影响内排序的主要因素: 时间性能。(主要受比较和移动两种操作的影响) 辅助空间。 算法的复杂性。 内排序的分类 根据排序过程中借助的主要操作,内排序分为: 插入排序 交换排序 选择排序 归并排序 2.外排序 外排序是由于排序的记录个数太多,不能同时放置在内存中,整个排序过程需要在内外存之间多次交换数据才能进行。 按照算法的复杂
我就是马云飞
2018/02/05
1.2K0
【数据结构】七大排序算法
数据结构与算法:排序
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 内部排序:数据元素全部放在内存中的排序。 外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。
二肥是只大懒蓝猫
2023/03/30
4040
数据结构与算法:排序
算法:排序
排序:就是将一组无序的记录序列按照某种逻辑顺序重新排序,调整为有序的记录序列的过程。简单的说,对于一组记录序列而言,就是根据记录的关键字递增顺序或者递减关系,将记录的次序进行重新排列,使得原来一组次序任意的记录序列转变为按其值有序排列的一组记录序列。
用户3578099
2022/04/18
1.2K0
算法:排序
【数据结构与算法】九大排序算法实现详解
​ 直接插入排序是一种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序的有序序列中,直到所有的记录插入完为止,得到一个新的有序序列 。
利刃大大
2025/02/03
1240
【数据结构与算法】九大排序算法实现详解
【算法篇】七大基于比较的排序算法精讲
根据排序算法是否基于排序,可以将算法分为两种,而在基于排序的算法中最常见的算法有七种,分别是:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序。
小皮侠
2024/04/08
2480
【算法篇】七大基于比较的排序算法精讲
数据结构基础温故-7.排序
排序(Sorting)是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为按关键字“有序”的记录序列。如何进行排序,特别是高效率地进行排序时计算机工作者学习和研究的重要课题之一。排序有内部排序和外部排序之分,若整个排序过程不需要访问外存便能完成,则称此类排序为内部排序,反之则为外部排序。本篇主要介绍插入排序、交换排序、选择排序和归并排序这几种内部排序方法。
Edison Zhou
2018/08/20
5170
数据结构基础温故-7.排序
8 大内部排序算法相关及其java实现
首先,排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
洋仔聊编程
2019/01/15
7620
[数据结构]排序算法
排序:所谓排序,就是一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
IT编程爱好者
2023/04/12
3910
[数据结构]排序算法
[数据结构]------排序----基本内容
排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
小李很执着
2024/06/15
790
[数据结构]------排序----基本内容
【数据结构与算法】希尔排序:基于插入排序的高效排序算法
这个序列是逐渐减小的,gap的值较大时,数据可以更快的前后变动,但不容易"基本有序";gap较小时数据前后变动较慢,但更接近"基本有序"。 通常可以选取gap = n/3, gap = gap/3, ...,直到gap= 1。
倔强的石头_
2024/12/06
2300
【数据结构与算法】希尔排序:基于插入排序的高效排序算法
【java-数据结构】七大排序 “华山论剑”:谁才是时间复杂度的王者?,从初学者到高手必备技巧。
我的专栏: 人工智能领域、java-数据结构、Javase、C语言,希望能帮助到大家!!! 点赞👍收藏❤
学无止尽5
2025/03/19
740
【java-数据结构】七大排序 “华山论剑”:谁才是时间复杂度的王者?,从初学者到高手必备技巧。
推荐阅读
相关推荐
数据结构:排序
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档