Integer.hashCode()
просто возвращает значение, да ... хотя не стоит полагаться на это. Возвращаемое значение хеш-кода должно действительно использоваться просто как непрозрачное значение, не придавая ему никакого особого значения - only равенство действительно должно быть принято во внимание. Даже если Integer.hashCode()
является задокументированным , чтобы просто вернуть значение (РЕДАКТИРОВАТЬ: это так; см. Другой ответ), я бы очень настороженно относился к любому коду, который сломался бы, если реализация изменится на возврат (скажем) value + 1
.
Возвращаемое значение hashCode()
, безусловно, может быть отрицательным - как здесь, так и в целом.