2021
07-01
07-01
一文告诉你为什么要重写hashCode()方法和equals()方法
首先我们看下object源码中如何定义hashcode与equals方法的publicnativeinthashCode();publicbooleanequals(Objectobj){return(this==obj);}Object类中的hashCode()方法,用的是native关键字修饰,说明这个方法是个原生函数,也就说这个方法的实现不是用java语言实现的,是使用c/c++实现的,并且被编译成了DLL,由java去调用,jdk源码中不包含。Java将调用本地方法库对此方法的实现。由于Object类中有JNI方法...
继续阅读 >