Hash value (hashcode) can be understood as a unique encoding, summary value, etc. The specific implementation may be a memory address, which can be used in Java to identify whether two variables are actually the same object. For the same object, the values at this moment must be equal, but different objects can also have equal values. Let’s learn more about it together.
Hash value (hashcode) in different classes:
1. HashCode of Object class: Returns the processed structure of the memory address of the object. Since the memory address of each object They are all different, so the hash codes are also different.
For two objects to be completely relative, they must have the same hash value. Compare equal()
PS1: Any class is an indirect subclass of the Object class, so it inherits the method public int hashCode(). The value returned by this method is generally converted into implemented as an integer. This ensures that the hash code value of each object is different
PS2: The address here refers to the memory address virtualized by the JVM, not the actual physical memory address.
PS3: The hash value and the address value are different. The hash value is obtained by hashing through the hash algorithm, while the address value is related to the physical level and is allocated by the system. There are no identical ones, and the hash value can be set to be the same through forced means. That is to say, the hash value is a logical guarantee of uniqueness, while the address value is a physical guarantee of uniqueness.
2. HashCode of String class: Based on the content of the string contained in the String class, a hash code is returned according to a special algorithm. As long as the string content is the same, the returned hash code is also the same.
Compare string contents for equality. Use equal()
3. Integer class hashCode: The returned hash code is the value of the integer contained in the Integer object.
For example, Integer i1=new Integer(100), the value of i1.hashCode is 100.
It can be seen that two Integer objects of the same size return the same hash code.
Compares packed numeric types for equality. Use equal()
The above is the detailed content of What is the hash value of java. For more information, please follow other related articles on the PHP Chinese website!