Hashcode of an int

假装没事ソ 提交于 2020-01-09 09:34:23

问题


What is the hashcode of a primitive type, such as int?

for example, let's say num was an interger.

int hasCode = 0;

if (num != 0) {
  hasCode = hasCode + num.hashCode();
}

回答1:


For the hashCode of an int the most natural choice is to use the int itself. A better question is what to use for the hashCode of a long since it doesn't fit into the int-sized hashcode. Your best source for that—and all hashCode-related questions—would be Effective Java.




回答2:


Taken from the Integer.class source code:

/**
 * Returns a hash code for this {@code Integer}.
 *
 * @return  a hash code value for this object, equal to the
 *          primitive {@code int} value represented by this
 *          {@code Integer} object.
 */
public int hashCode() {
    return value;
}

Where value is the value of the integer.




回答3:


No hashCode() method for primitive type int available.

Integer is Wrapper class type and hashcode() returns an int




回答4:


The java.lang.Integer.hashCode() method returns a hash code value for primitive value of int but represented as an Integer object.

/**
 * Returns a hash code value for an Integer,
 * equal to the primitive int value it represents.
 */
public class IntegerDemo {

    public static void main(String[] args){
        Integer i = new Integer("20");
        System.out.println("Value = " + i.hashCode());
    }

}`

Results:

Value = 20

Source Link: http://www.tutorialspoint.com/java/lang/integer_hashcode.htm



来源:https://stackoverflow.com/questions/11890805/hashcode-of-an-int

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!