Java - 包装类和hashCode()

时间:2011-04-12 16:29:57

标签: java hashcode wrapper

整数的hashCode()intValue()返回的b / w值有什么不同吗?哈希码可以是否定的?

2 个答案:

答案 0 :(得分:3)

不,没有区别,因此可以是负数或零。

来自Javadoc

  

返回:此对象的哈希码值,等于此Integer对象表示的原始int值。

答案 1 :(得分:3)

Integer.hashCode()只返回值,是的......虽然依靠它不是一个好主意。哈希代码的返回值实际上应该只用作不透明值而不附加任何特定含义 - 等式应该被考虑在内。即使Integer.hashCode() 记录只返回值(编辑:它是;请参阅其他答案),我会非常警惕任何代码如果实现更改为返回将会中断(比方说)value + 1

hashCode()的返回值肯定是负数 - 无论是在这里还是在一般情况下。