java 对象的散列值

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:33:56
class A{
}
class B extends A{
}

class example{
public static void main(String[] str){
A a=new A();
A a1=new A();
B b=new B();
String s="12345";
System.out.println(s);
System.out.println(b.hashCode());

}
}
b.hashCode()返回的整数是什么意思哦?

Object类定义的 hashCode 方法确实会针对不同的对象返回不同的整数
在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,
两个对象是相等的,那么对这两个对象中的每个对象调用 hashCode 方法都必须生成相同的整数结果,如果不等,则不作强制性性要求,一般来说会生成不同的整数结果

对了,补充一点,返回该对象的哈希码值是为了提高哈希表的性能,像util类里面的HashTable