搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
知新_RL
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
gazebo通过sdf搭建仿真环境和机器人Husky_husky仿真
2
[论文笔记|sonar+VIO]SVIn2: An Underwater SLAM System using Sonar, Visual, Inertial, and Depth Sensor
3
蓝桥杯考前复习一
4
java-net-php-python-jspm光影婚纱影楼系统设计与实现系统计算机毕业设计程序
5
影视类微信小程序源码,支持付费短剧模式、会员模式、 多平台支付方式(附带前后端源码)_短剧 小程序源码
6
数据结构:双向链表(带头循环)_数据结构:带头双向
7
国内App推广N种方法,总有几种适合你_推荐情况除了焦点图还有叫啥
8
Java家庭安防系统(开题+源码)
9
动手学深度学习——残差网络ResNet(原理解释+代码详解)_残差块resnet
10
Windows10系统的音频不可用,使用疑难解答后提示【 一个或多个音频服务未运行】_一个或多个音频服务未运行怎么弄
当前位置:
article
> 正文
hashCode_chashcode
作者:知新_RL | 2024-03-27 15:39:18
赞
踩
chashcode
一、
把某个非零的常数值,比如17,保存在一个名为result的int变量中。
二、
a、为该域计算int类型的hashCode的值c:
1)如果该域是boolean,则计算(f ? 1 : 0);
2)如果该域是byte、char、short或者int,则计算(int)f;
3)如果该域是long,则计算(int)(f ^ f >>> 32);
4)如果该域是float,则计算Float.floatToIntBits(f);
5)如果该域是double,则计算Double.doubleToLongBits(f)先得到long,然后根据long的计算规则算出int;
6)如果该域是引用对象,且该类的equals方法通过递归地调用equals方法来比较这个域,则同样为这个域递归地调用hashCode。如果需要更复杂的比较,则为这个域计算一个“范式(canonical representaion)”,然后针对这个范式调用hashCode。如果这个域的值为null,则返回0(或者其他常数,但通常是0);
7)如果该域是一个数组,则要把其中的每个元素当作单独的域来处理。也就是说,递归地应用上述规则,对每个重要的元素计算其hashCode,然后按照result = 31 * result + c的做法把这些hashCode组合起来。如果数组域中的每个元素都很重要,可以利用jdk1.5中的Arrays.hashCode方法。
b、按照result = 31 * result + c的做法把二.a中所得的结果合并到result中
三、
返回result。
四、
问问自己“相等的实例是否都具有相等的hashCode”。测试,纠错。
为什么用31?
因为它是一个奇素数。如果乘以偶数,且乘法溢出的话,信息就会丢失,因为与2相乘等价于以为运算。使用素数的好处并不明显,但习惯上都使用素数。31有个好特性:31 = 32 - 1,所以对于一个int值a,31 可以做到a * 31 = a << 5 - a。现代的VM可以自动完成这种优化。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/知新_RL/article/detail/325169
推荐阅读
article
navigator
.
geolocation
安卓
不能
用
_
用
tcgames
投屏
到电脑玩《和平精英》怎么...
我们知道,现在不少
安卓
机型都能支持游戏
90
帧,玩吃鸡的时候虽然直接手搓也可以到
90
帧,但是对很多游戏主播跟喜欢
用
tcga...
赞
踩
article
Machine
Learning机器
学习
之
随机
森林
(
Random
Forests
)...
随机
森林
(
Random
Forest)是由Leo Breiman和Adele Cutler于2001年提出的一种集成
学习
...
赞
踩
article
【
Unity
】
TextMeshPro
描边
功能...
TextMeshPro
,
描边
_textmeshpro
描边
textmeshpro
描边
...
赞
踩
article
2022
圣诞
代码合集(
圣诞
树
+
圣诞
老人
)_
圣诞
节
html
会动的
圣诞
树
和
圣诞
老人
...
圣诞
节里的喜悦,飘扬万里;
圣诞
树
上的星星,璀璨耀眼;
圣诞
星空绽放的烟花,迎来吉祥;
圣诞
钟声奏响的旋律,传递欢乐;
圣诞
老人
...
赞
踩
article
nodejs
全局
安装
路径的位置...
一般
nodejs
安装
在默认的C盘,如果不知道
安装
在哪里,可以打开控制面板-系统和安全-系统-高级配置中找到所谓
全局
安装
:...
赞
踩
article
【单点知识】
基于
实例
详解
PyTorch
中
的
DataLoader
类
...
详解用于深度学习训练数据加载
的
DataLoader
类
【单点知识】
基于
实例
详解
PyTorch
中
的
DataLoader
类
...
赞
踩
article
python
怎么连续计算各个坐标之间距离_使用
dlib
,
OpenCV
和
Python
进行
人脸
识别
—
人眼
...
使用
dlib
,
OpenCV
和
Python
进行
人脸
识别
—
人眼
瞌睡
识别
前期文章我们分享了如何使用
python
与
dlib
来进行...
赞
踩
article
Covalent
Network
(
CQT
)与
Celo
集成,推动
Web3
下一代现实资产
解决方案
...
统一 API 作为一个工具,旨在无缝访问实时以及历史区块链数据,充当
Celo
所利用的各种功能通道,包括用户友好的区块...
赞
踩
article
一
、
操作系统
概述
(
四)
操作系统
结构
和
引导
_
操作系统
引导
...
随着
操作系统
功能不断增多和代码规模的不断扩大,提供合理的
结构
,对于降低
操作系统
复杂度
、
提升
操作系统
安全与可靠性来说变得尤...
赞
踩
article
不能
继承
的
类
_
不能
被
继承
用
new
修饰此
类
...
设计一个
不能
被
继承
的
类
1.定义公有静态成员函数#includeusing namespace std;class A{p...
赞
踩
article
快速入门
ESP32
—— 解决
platformIO
添加开源库
下载
失败
的问题_
platformio
下载
...
由于很多的开源库都是部署在git仓库,国内的网络环境连接
下载
的速度会比较慢,导致一下大一点的库要等很久或者是
下载
失败
的问...
赞
踩
article
java
基础语法(
二十二
)
List
_
java
list
...
List
接口常用方法1、
List
集合存储元素特点:有序可重复 有序:
List
集合中的元素有下标,从0开始,依次递增 可重...
赞
踩
article
通过内
网
穿透
分享
本地
电脑上有趣的
照片
:部署
piwigo
网
页_
piwigo
指定
到
挂载目录...
作为一个游戏爱好者,笔者在闲暇之余也会登录游戏,以便享受游戏带来的乐趣,并和游戏中的朋友闲聊放松。几年前有一次聊天,游友...
赞
踩
article
Verilog
实现1
位
全加器
及
输出
逻辑解析_
verilog
一
位
全加器
代码
...
Verilog
实现1
位
全加器
及
输出
逻辑解析1、半加器、
全加器
是什么 半加器电路指对两个输入数据
位
(a、b)相加,
输出
一...
赞
踩
article
解决
word2016
中无法
打开
嵌入的
visio
对象
_
visio
drawing
对象
打不开
...
解决word中无法
打开
嵌入的
visio
对象
对于
word2016
中内嵌的
visio
对象
,无法用鼠标右键
打开
编辑,双击的话会...
赞
踩
article
【
操作系统
内核
:
大
内核
与
微
内核
】_
操作系统
微
内核
...
操作系统
内核
是
操作系统
的核心,它决定了
操作系统
的整体架构和性能。在
操作系统
内核
的设计中,有两个主要的架构风格:
大
内核
和微...
赞
踩
article
每周总结(三)
_
stanford3ddataset
怎么
可视化
...
文章目录2020年第41周学习小结:程序调试分类结果
可视化
零件分割语义分割原始数据集下载语义分割
可视化
结果一些其他问题论...
赞
踩
article
slowfast
视频
行为
特征提取
算法
理解_
slowfast
算法
...
一、一个通用的
行为
识别框架(facebook)二、核心网络结构 1.分别获取高频(取
行为
)与低频图像(取背景环境)数据;...
赞
踩
article
浅析
爱心
代码
的
绘制
思路——
python
实现
_
python
爱心
代码
原理...
浅析
爱心
代码
的
绘制
思路——
python
实现
_
python
爱心
代码
原理
python
爱心
代码
原理 ...
赞
踩
article
用
Python
制作
高逼格
数学
动画
manim
...
简介
manim
是斯坦福大学
数学
系小哥Grant Sanderson开源的
数学
仿真模拟python库,并用于YouTube...
赞
踩
相关标签
navigator.geolocation 安卓不能用
机器学习
python
算法
决策树
随机森林
unity
游戏引擎
前端
javascript
css
html5
ViewUI
pytorch
深度学习
python怎么连续计算各个坐标之间距离
web3
考研
C++
继承
vscode
c++
单片机
物联网
iot