整型的哈希码

2022-09-01 09:14:27

基元类型的哈希码是什么,例如 int?

例如,假设 num 是一个 interger。

int hasCode = 0;

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

答案 1

取自源代码:Integer.class

/**
 * 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;
}

其中 是整数的值。value


答案 2

对于一个最自然的选择是使用本身。一个更好的问题是,对于 a 使用什么,因为它不适合大小哈希码。你最好的来源——以及所有相关的问题——将是有效的JavahashCodeintinthashCodelonginthashCode