Я думаю, что вы не поняли.Это не hashcode
.serialVersionUid
- статическая переменная, hashcode
- метод экземпляра, и значение хеш-кода объекта изменяет объект в объект.
serialVersionUid
рассчитывается на основе структуры вашего класса - полей, методов и т. Д.указанный в http://download.oracle.com/javase/6/docs/platform/serialization/spec/serialTOC.html http://download.oracle.com/javase/6/docs/platform/serialization/spec/class.html#4100 для точного формата.
В спецификации описывается, что происходит без указания значения, но автогенерация использует тот же алгоритм.
Последовательность элементов в потоке выглядит следующим образом:
Имя класса.
Модификаторы класса записываются как 32-разрядное целое число.
Имя каждого интерфейса, отсортированное по имени.
Для каждого поля класса, отсортированного по имени поля (кроме закрытых статических и закрытыхпереходные поля:
- Имя поля.
- Модификаторы поля, записанные в виде 32-разрядного целого числа.
- Дескриптор поля.
Если инициализатор класса существует, запишите следующеег:
- Название метода,.
- Модификатор метода, java.lang.reflect.Modifier.STATIC, записанный как 32-разрядное целое число.
- Дескриптор метода, () V.
Для каждого не частного конструктора, отсортированного по имени метода и сигнатуре:
- Название метода.
- Модификаторы метода, записанные в виде 32-разрядного целого числа.
- Дескриптор метода.
Для каждого не частного метода, отсортированного по имени метода и сигнатуре:
- TheНазвание метода.
- Модификаторы метода записываются как 32-разрядное целое число.
- Дескриптор метода.
- Алгоритм SHA-1 выполняется в потоке байтов, созданных DataOutputStream, и выдает пять 32-битных значений sha [0..4].Значение хеша составляется из первого и второго 32-битных значений дайджеста сообщения SHA-1.Если результат дайджеста сообщения, пять 32-битных слов H0 H1 H2 H3 H4, находится в массиве из пяти значений int с именем sha, значение хеш-функции будет вычислено следующим образом:
long hash
= ((sha [0] >>> 24) & 0xFF) |
((sha [0] >>> 16) & 0xFF) << 8 | </p>
((sha [0] >>> 8) & 0xFF) << 16 | </p>
((sha [0] >>> 0) & 0xFF) << 24 | </p>
((sha [1] >>> 24) & 0xFF) << 32 | </p>
((sha [1] >>> 16) & 0xFF) << 40 | </p>
((sha [1]>>> 8) & 0xFF) << 48 | </p>
((sha [1] >>> 0) & 0xFF) << 56; </p>
Здесь long hash
не относится к hashcode