Java类在重写equals方式时要遵守的约定

server/2024/12/22 0:26:27/

1、John Donne: No man is an island.

java中需要不停的创建、销毁类来执行一系列的任务逻辑,但就像约翰·多恩说的“没有人是一座孤岛”一样,每个类的实例经常会被传递给另一个类。许多类都要依赖这一点,才能完成它的使命,即传递给他们的对象都遵守equals的通用约定。

2、类在重写equals方法时,必须遵守其通用约定,才能避免出现莫名其妙的问题。具体约定如下(出自Object类):

① 自反性:队医任何非null的引用值x,x.equals(x)必须返回true。

② 对称性:对于任何非null的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)也必须返回true。

③ 传递性:对于任何非null的引用值x、y和z,如果x.equals(y)返回true,丙炔y.equals(z)也返回true,那么z.equals(x)也必须返回true。

④ 一致性:对于任何非null的引用值x和y,只要equals比较中用到的信息没有修改,多次调下x.equals(y)必须一致地返回true或一致地返回false。

⑤ 非空性:对于任何非null地引用值x,x.equals(null)必须返回false。


http://www.ppmy.cn/server/152085.html

相关文章

OpenCV--图像拼接

OpenCV--图像拼接 代码和笔记 代码和笔记 import cv2 import numpy as np""" 图像拼接: 1. 读取图片,灰度化 2. 计算各自的特征点和描述子 3. 匹配特征 4. 计算单应性矩阵 5. 透视变换 6. 创建一个大图,放图两张图 "&qu…

SSM 寝室管理系统:为住宿生活保驾护航

摘 要 寝室管理设计是高校为学生提供第二课堂,而我们所在学院多采用半手工管理学生寝室的方式,所以有必要开发寝室管理系统来对进行数字化管理。既可减轻学院宿舍长工作压力,比较系统地对宿舍通告、卫生上的各项服务和信息进行管理&#xff…

解锁大数据治理的“密码”与应用奥秘

一、大数据治理的基本认知 (一)定义与内涵 在当今数字化飞速发展的时代,数据量呈现出爆炸式增长,大数据已然成为了一种极具价值的资源。而大数据治理,就是针对大数据的产生、存储、处理、分析以及应用等全生命周期所开展的一系列规划、组织、协调、控制和监督活动。 从产…

define ATL_NO_VTABLE __declspec(novtable)

#define ATL_NO_VTABLE __declspec(novtable) 以下是对 #define ATL_NO_VTABLE __declspec(novtable) 这行代码的详细解释: 整体功能概述 这行代码是一个宏定义,在使用 ATL(Active Template Library,活动模板库,常用…

java全栈day17--Web后端实战(java操作数据库)

前言:本章应该是针对数据库基础讲解,数据的增删改查但是本人忘记对知识进行归纳总结就直接跳过,基本的内容都很简单,都是套式子使用。现在开始学习本章,很重要需要好好掌握。 一、使用的工具 二、JDBC 2.1概述 JDBC …

OB删除1.5亿数据耗费2小时

目录 回顾:mysql是怎么删除数据的? 删除方案 代码实现 执行结果 结论 本篇是实际操作 批量处理数据以及线程池线程数设置 记录学习 背景:有一张用户标签表,存储数据量达4个亿,使用OceanBase存储,由于…

卷积神经网络-填充+步长

Padding nn的图像 * ff的图像 (n-f1)(n-f1) f通常为奇数(会有中心点 好填充) 缺点: 1.多次卷积图像会变小 2.边缘的像素点 在ff的卷积中覆盖的比较少,而中间的像素点会被多次覆盖到-》会丢失图像的边缘位…

[数据结构#2] 图(1) | 概念 | 邻接矩阵 | 邻接表 | 模拟

图是由顶点集合及顶点间的关系(边)组成的数据结构,可用 G ( V , E ) G(V,E) G(V,E)表示,其中: 顶点集合 V V V: V { x ∣ x ∈ 某数据对象集 } V\{x|x\in\text{某数据对象集}\} V{x∣x∈某数据对象集},…