2016-10-08 3 views
0

Если существуют два объекта, у которых нет содержимого и того же типа, как точно определяется хэш-код по умолчанию в Scala? Является ли это JVM конкретным или есть код в реестре scala github, на который я мог смотреть? (Я не мог найти его там)Что такое реализация Scala для Hashcode для объектов типа Any?

Я действительно искал похожие вопросы, но все они были специфичными для java, но не уверены, что команда Scala сделала что-то другое.

+0

Он использует базовую реализацию JVM для Object.hashCode, которая варьируется между виртуальными машинами. См. [Этот ответ] (http://stackoverflow.com/a/26975908/1870803) подробнее. –

ответ

2

Object инвентарь hashCode, поэтому он поступает из Java по умолчанию. Объекты Scala могут переопределять его. Например. классы case переопределяют его, чтобы он был эквивалентен логике равенства и делегировал объектам-членам.