Хеш-код пустой строки будет 0
, по крайней мере, в реализации Oracle 8 для Java.
Это фрагмент исходного кода `java.util.HashMap в Java 1.8 метода, используемого для вычисления хеша:
static final int hash(Object key) {
int h;
return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);
}
Это соответствующий метод, который вычисляет хэш.
По сути, это то, как он вычисляет хэш-код пустой строки:
System.out.println(("".hashCode()) ^ ("".hashCode() >>> 16));
В любом случае хеш-код null
будет 0
. См. Код выше с помощью метода hash
.