![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java核心基础
Java核心基础
路遥才知马力
这个作者很懒,什么都没留下…
展开
-
为什么重写equals方法的同时也要重写hashcode方法
为什么重写equals方法的同时也要重写hashcode方法注:JDK版本:1.8.0_251首先,我们来看一下在Object类中,这两个方法是是干嘛的,现贴出代码:在Object类中, equals方法进行相等比较,是用 == 号对两个对象进行比较。我们知道,在Java中,==比较,其实比较的是两个对象的hashcode,我们再看看Object类的hashCode()方法:这个方法呢,它是一个native方法,这个方法会返回当前对象的哈希散列码。OK,现在打完了Object类的铺垫,我们再原创 2020-07-24 11:36:41 · 575 阅读 · 2 评论 -
Java中的自动拆箱与自动装箱
Java包装类的自动拆装箱基本类型与包装的比较我们先来看一段代码:@Testpublic void test() { int a = 1; Integer b = new Integer(1); Integer c = new Integer(1); System.out.println(a == b); System.out.println(b == c); System.out.println(b == c.intValue());}这段代码的运行结果是(运行环境:O原创 2020-07-22 19:55:55 · 87 阅读 · 0 评论 -
Java中的hashcode究竟是不是对象的内存地址
Java中的hashcode究竟是不是对象的内存地址实验要回答标题中的问题,我们最好的办法就是来做一个实验,那么我们如何来做这个,并且确保实验结果的正确性呢?我们需要证明:多个对象内存地址不一样在上述不同内存地址的对象中找出相同hashcode的情况实验环境:windows 10 64bitOracle jdk1.8.0_251实验代码如下:@Testpublic void test() { int total = 1000000; Set set = new Hash原创 2020-07-22 17:39:20 · 2142 阅读 · 0 评论 -
深入理解Object类
深入理解Object类背景在Java语言中,我们所编写的所有类都会自动继承自Object类,因此,了解其各个方法的作用是十分有必要的。源码剖析package java.lang;/**@author unascribed@see java.lang.Class@since JDK1.0*/public class Object {registerNatives这个方法是为了注册native方法。native方法就是本地方法,这些本地方法的实现其实并原创 2020-07-22 14:41:35 · 361 阅读 · 0 评论