Это потому, что hashCode
массива не зависит от его значений (потому что оно изменчиво) , но оно уникально для каждого экземпляра, оно использует его адрес памяти. Таким образом, выполнение кода дважды создает два разных массива с разными адресами памяти, которые имеют разные коды ha sh.
Решение заключается в использовании неизменяемой структуры, такой как Список .
"ABC".getBytes().toList.hashCode()
// res: Int = 1984571950
"ABC".getBytes().toList.hashCode()
// res: Int = 1984571950