当前位置: 首页 > news >正文

老鹰网营销型网站建设/网络营销渠道可分为哪些

老鹰网营销型网站建设,网络营销渠道可分为哪些,如何开wordpress网站,机械加工网瓦房北方机床附件厂Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…

Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。

equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。

==和equals的区别和联系

==运算符和equals()方法都是用于在Java编程中判断两个对象或值是否相等的方式。

在Java编程语言中,基本数据类型只能使用==运算符来判断它们的值是否相等;而对于引用数据类型,使用==运算符判断的是它们所引用的内存地址是否相同。

在Java中,equals()方法只能在引用数据类型的对象上使用,用于比较两个对象的内容是否相等;然而,Object类中的equals()方法默认实现实际上是通过==运算符来比较两个对象变量所指向的内存地址是否相同,除非该方法在子类中被重写以提供不同的比较逻辑。

如下图,如下图所示,尝试直接使用equals()方法对两个基本数据类型(如int、float等)进行比较会导致编译错误。这是因为基本数据类型不是对象,它们没有内置的方法可以调用。equals()方法是定义在Object类中的,而基本数据类型需要被封装成对应的包装类(如Integer、Float等)后才能使用equals()方法进行比较。

如下图,a1 == a2:这个比较是检查a1a2两个对象引用是否指向同一个对象。在这个例子中,a1a2是通过两次调用new String("")创建的,这意味着它们在内存中有两个不同的对象实例,即使它们的内容都是空字符串。因此,a1 == a2的结果是false。a1.equals(a2):这个比较是检查a1a2两个字符串对象的内容是否相同。在Java中,String类的equals方法被重写以比较字符串的内容而不是它们的引用。由于a1a2都是空字符串(""),它们的内容是相同的。因此,a1.equals(a2)的结果是true。

hashCode()

介绍

在Java中,hashCode()方法本质上是一个本地方法(native method),它的具体实现是通过C++语言编写的,并且作为Java Native Interface(JNI)的一部分,允许Java代码与用其他编程语言(如C++)编写的代码进行交互。

作用

hashCode()将用户的对象的地址映射为一个int类型的数据。

hashCode()方法的作用是将一个对象的内部状态通过一个哈希函数映射为一个整数(int类型)的数据,这个整数通常用于在哈希表中快速定位对象的位置。

通过hashCode()方法生成的哈希值,可以使得对象在哈希表(Hash Table)数据结构中实现快速的定位和查询操作。具体而言,哈希表利用哈希函数将对象的哈希码映射到表中的特定位置,从而实现对象的快速存取。

为什么重写equals()方法一定要重写hashCode()方法

具体代码

如下图所示,equals()方法是Java中Object类的一个成员方法,它可以被子类重写,以实现子类特有的对象相等性判断逻辑。这种重写机制是面向对象编程中多态性的体现,允许子类根据需要提供自定义的equals()方法实现,以替代父类(即Object类)中的默认实现,这就像普通的子类和父类一样。

原因

为什么在Java中重写equals()方法时一定要同时重写hashCode()方法呢?这是为了确保equals()方法和hashCode()方法对于相等的对象能够返回一致的结果。具体来说,当我们在使用哈希表(如HashMap、HashSet等)进行对象的定位和查询时,会依赖于这两个方法。如果仅重写了equals()方法而没有相应地重写hashCode()方法,那么可能会出现在哈希表中通过hashCode()方法定位到相同位置的对象,在使用equals()方法进行详细比较时却不相等的情况。这种不一致性会导致哈希表的行为异常,如无法正确存储或检索对象,从而引发程序错误或bug。

相关文章:

新数据结构(7)——Object

Object类是所有类的父类,在 Java 中,每个类都直接或间接地继承自Object类,也就是说所有类都是object类的子类可以使用Object里的方法。 equals()和hashCode()是Java中Object类所包含的两个关键方法,下面将介绍两个方法。 和equa…...

云计算基础

环境准备 配置虚拟机安装docker 前提安装 步骤命令效果图 安装docker-compose 前提安装 步骤效果图 安装gitea 步骤命令效果图 执行docker-compose命令浏览器初始gitea配置浏览器登录gitea创建组织创建仓库 Drone安装 步骤效果图 非自动化部署 nginx安装redis安装jdk安装…...

利用kali linux 进行自动化渗透测试

本方案旨在自动化创建渗透测试全流程 一、架构 1.智能信息收集体系 class IntelligentOSINT:def __init__(self, target):self.target targetself.intelligence_sources [OSINT_Platforms,DeepWeb_Crawlers, SocialMedia_Trackers,ML_Correlation_Engine]def advanced_col…...

【Vue中BUG解决】npm error path git

报错内容如下: 从错误信息可知,这是一个 ENOENT(No Entry,即找不到文件或目录)错误,并且与 git 相关。具体来说,npm 在尝试调用 git 时,无法找到 git 可执行文件,下面为…...

GPT-4o微调SFT及强化学习DPO数据集构建

假设,已经标注的训练数据集df包含了提示词、输入和输出三列。 构建微调SFT的数据集代码如下: data [] for x in df.values:prompt x[1]user_content x[2]assistant_content x[3]data.append({"messages": [{"role": "sys…...

element-plus 解决el-dialog背后的页面滚动问题,及其内容有下拉框出现错位问题

这个问题通常是因为 el‑dialog 默认会锁定 body 的滚动&#xff08;通过给 body 添加隐藏滚动条的样式&#xff09;&#xff0c;从而导致页面在打开对话框时跳转到顶部。解决方法是在使用 el‑dialog 时禁用锁定滚动功能。 <el-dialogv-model"dialogVisible":lo…...

MT6835 21位 磁编码器 SPI 平台无关通用驱动框架 STM32

MT6835 21位 磁编码器 SPI 平台无关通用驱动框架 STM32 1. 获取代码&#xff1a;2. 加入你的项目2.1 以 STM32 为例:2.2 以 ESP-IDF 为例: 3. 对接 API3.1 以 STM32 为例&#xff1a; 4. 更多函数说明5. 写入 EEPROM 示例 MT6835 Framework 纯C语言实现&#xff0c;跨平台&…...

vue REF 和 Reactive区别、特点、优势

REF 和 Reactive 是两种不同的编程范式。下面是它们之间的对比以及各自的优势劣势和特点&#xff1a; REF&#xff08;可变状态编程&#xff09;&#xff1a; 优势&#xff1a; 易于理解和学习&#xff1a;REF 编程模型更贴近传统的命令式编程&#xff0c;因此对于大多数开发…...

Elastic Cloud Serverless 现已在 Microsoft Azure 上提供技术预览版

作者&#xff1a;来自 Elastic Yuvi Gupta Elastic Cloud Serverless 提供了启动和扩展安全性、可观察性和搜索解决方案的最快方法 — 无需管理基础设施。 今天&#xff0c;我们很高兴地宣布 Microsoft Azure 上的 Elastic Cloud Serverless 技术预览版现已在美国东部地区推出。…...

Spring Boot + MyBatis Field ‘xxx‘ doesn‘t have a default value 问题排查与解决

目录 1. 问题所示2. 原理分析3. 解决方法1. 问题所示 执行代码的时候,出现某个字段无法添加 ### Error updating database. Cause: java.sql.SQLException: Field e_f_id doesnt have a default value ### The error may exist in cn...

kafka的架构和工作原理

目录 Kafka 架构 Kafka 工作原理 Kafka 数据流 Kafka 核心特性 总结 Kafka 架构 1. 生产者(Producer) 2. 消费者(Consumer) 3. 主题(Topic) 4. 分区(Partition) 5. 副本(Replica) 6. 代理(Broker) 7. ZooKeeper(旧版本)/KRaft(新版本) Kafka 工作…...

游戏引擎学习第100天

仓库:https://gitee.com/mrxiao_com/2d_game_2 昨天的回顾 今天的工作重点是继续进行反射计算的实现。昨天&#xff0c;我们开始了反射和环境贴图的工作&#xff0c;成功地根据法线显示了反射效果。然而&#xff0c;我们还没有实现反射向量的计算&#xff0c;导致反射交点的代…...

机器学习:朴素贝叶斯分类器

贝叶斯决策论是概率框架下实施决策的基本方法,对分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。 贝叶斯定理是贝叶斯决策论的基础&#xff0c;描述了如何根据新的证据更新先验概率&#xff0c;贝叶斯定理&…...

打开Visual Studio Code的时候发现未检测到适用于linux的windows子系统,那么该问题要如何解决?

两个月没有使用vscode编写代码&#xff0c;今天使用的时候发现了以上的问题导致我的vscode无法编写程序&#xff0c;接下来我将本人解决该问题的思路分享给大家。 首先我们要清楚WSL是适用于linux的window的子系统&#xff0c;是一个在Windows 10\11上能够运行原生Linux二进制可…...

力扣24题——两两交换链表中节点

#题目 #代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ clas…...

android launcher拖动图标释放错位

由于为了设备流畅把所有动画效果设置为0.5&#xff0c;不设置为0是因为锁屏在开机时会有闪黑屏的现象。在此背景下&#xff0c;测试发现在拖动桌面图标时&#xff0c;在图标动画过程中错位时释放图标&#xff0c;则图标会留在错位的位置&#xff0c;不会自动对齐。 原因就是动…...

window ssh免密码输入

生成本地公钥 打开dos&#xff0c;使用以下命令手动生成一个公钥&#xff1a; ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (C:\Users\aero/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same pas…...

2024年博客之星年度评选—主题文章创作评审文章得分公布

博客之星活动地址&#xff1a;https://www.csdn.net/blogstar2024 创作影响力评审入围名单&#xff1a;https://blogdev.blog.csdn.net/article/details/145189549 目录 主题文章创作评审得分排名 主题文章创作说明 主题文章评选说明 创作影响力评审主题文章创作评审目前排名 博…...

vscode插件Remote - SSH使用教程

Remote - SSH 是一款非常实用的 Visual Studio Code (VSCode) 扩展插件,它允许开发者通过SSH连接到远程服务器,并像在本地一样进行代码编辑和调试。这意味着你可以直接在VS Code中打开位于远程机器上的文件夹,并利用本地安装的VS Code功能,如语法高亮、智能感知、Git集成等…...

自学人工智能大模型,满足7B模型的训练和微调以及推理,预算3万,如何选购电脑

如果你的预算是 3万元人民币&#xff0c;希望训练和微调 7B 参数规模的人工智能大模型&#xff08;如 LLaMA、Mistral 等&#xff09;&#xff0c;你需要一台高性能的深度学习工作站。在这个预算范围内&#xff0c;以下是推荐的配置&#xff1a; 1. 关键硬件配置 (1) GPU (显卡…...

github不翻墙就可以访问

目录 简介资料准备windows平台设置下载运行git设置firefox设置 ubuntu平台设置下载启动服务设置系统代理git设置firefox设置证书 注意事项 简介 由于github访问不稳定,严重影响了国内软件开发,在网上搜索并验证了一些方法.现在整理出来一个可以正常使用的方法, 在windows和Lin…...

十大知识领域中涉及到的工具与技术(三)

简介 整理下十大知识领域中使用到 “ 数据表现 ” 里面所包含的工具与技术&#xff0c;以及在那些过程中有使用。 具体的一些工具与技术 工具与技术—————————————描述1.亲和图用于对大量创意进行分组的技术。与心智图相似。针对某个问题&#xff0c;产生出可联成…...

在nodejs中使用RabbitMQ(三)Routing、Topics、Headers

示例一、Routing exchange类型direct&#xff0c;根据消息的routekey将消息直接转发到指定队列。producer.ts 生产者主要发送消息&#xff0c;consumer.ts负责接收消息&#xff0c;同时也都可以创建exchange交换机&#xff0c;创建队列&#xff0c;为队列绑定exchange&#xff…...

设计模式全解(含代码实例)

目录 设计模式概念耦合与解耦 常见-5种全部-23种创建型模式&#xff08;Creational Patterns&#xff09;单例模式&#xff08;Singleton Pattern&#xff09;工厂方法模式&#xff08;Factory Method Pattern&#xff09;&#xff1a;抽象工厂模式&#xff08;Abstract Factor…...

springboot019-爬虫基于网页开发和数据抓取技术的在线新闻聚合平台的设计与实现

&#x1f495;&#x1f495;作者&#xff1a; 小九学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…...

#渗透测试#批量漏洞挖掘#LiveBos UploadFile 任意文件上传漏洞

免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停止本文章读。 目录 漏洞背景 漏洞成因 影响评估 检测方案 …...

【分布式架构理论3】分布式调用(1):负载均衡

文章目录 零、三种不同的负载均衡一、常见行业负载均衡方案1. 电商与互联网服务2. 金融与支付系统3. 云计算与分布式存储 二、负载均衡策略概述1. 无状态负载均衡&#xff08;强调公平性&#xff09;2. 有状态的负载均衡&#xff08;强调正确性&#xff09; 三、 总结 零、三种…...

如何安装和运行Zonos:详细步骤指南

如何安装和运行Zonos&#xff1a;详细步骤指南 1. 安装依赖2. 克隆 Zonos 仓库3. 创建 Python 虚拟环境4. 安装 Zonos5. 运行 Zonos6. 总结 Zonos 是一个基于 Python 的语音合成工具&#xff0c;它结合了先进的深度学习技术和语音生成模型&#xff0c;能够生成高质量的语音输出…...

docker学习---第3步:docker实操大模型

文章目录 1.Images2.Container3.DockerfileENTRYPOINT和CMDCOPY和ADDLABLE、EXPOSE和VOLUME卷中的数据是如何做数据备份的&#xff1f; ARG和ENVHEALTHCHECK 跟着b站 胖虎遛二狗学习 Docker动手入门 &#xff5c; 大模型工程师必备技能 &#xff08;&#x1f389;已完结&…...

记录第一次在windows环境编译libuvc库 踩的坑

最近遇到windows下编译libuvc库,实现经usb连接的摄像头拍摄采集。绕了一大圈&#xff0c;记录一下。 首先&#xff0c;作为新手&#xff0c;肯定需要参考大神资料&#xff0c;但是还是踩了坑。 要在windows 环境下安装libuvc的驱动并确保可用&#xff0c;需要经过一系列流程&a…...