Функция hashCode

Функция hashCode возвращает целочисленное значение, представляющее хэш-код содержимого объекта StringBuilder. Хэш-код вычисляется на основе текущей последовательности символов, хранящейся в билдере. Важно отметить, что значение хэш-кода может изменяться при модификации содержимого StringBuilder.

Синтаксис

kotlinfun hashCode(): Int

Пример

Получим хэш-код для StringBuilder с содержимым "abcde":

kotlinval sb = StringBuilder("abcde")
val res: Int = sb.hashCode()
println(res)

Результат выполнения кода:

kotlinInt 92599395

Пример

Покажем, что хэш-код изменяется при модификации содержимого:

kotlinval sb = StringBuilder("abcde")
val hash1: Int = sb.hashCode()

sb.append("123")
val hash2: Int = sb.hashCode()

println("First hash: $hash1")
println("Second hash: $hash2")

Результат выполнения кода:

kotlinFirst hash: 92599395
Second hash: -1424374354

Пример

Сравним хэш-коды двух StringBuilder с одинаковым содержимым:

kotlinval sb1 = StringBuilder("abcde")
val sb2 = StringBuilder("abcde")

val hash1: Int = sb1.hashCode()
val hash2: Int = sb2.hashCode()

println("Hash1: $hash1")
println("Hash2: $hash2")
println("Hashes equal: ${hash1 == hash2}")

Результат выполнения кода:

kotlinHash1: 92599395
Hash2: 92599395
Hashes equal: true

Пример

Покажем различие хэш-кодов для разных содержимых:

kotlinval sb1 = StringBuilder("abcde")
val sb2 = StringBuilder("12345")

val hash1: Int = sb1.hashCode()
val hash2: Int = sb2.hashCode()

println("Hash1: $hash1")
println("Hash2: $hash2")
println("Hashes equal: ${hash1 == hash2}")

Результат выполнения кода:

kotlinHash1: 92599395
Hash2: 1452122402
Hashes equal: false

Смотрите также

  • функцию equals,
    которая сравнивает содержимое StringBuilder
  • функцию toString,
    которая преобразует StringBuilder в строку
  • функцию compareTo,
    которая сравнивает два StringBuilder лексикографически
  • функцию length,
    которая возвращает длину содержимого StringBuilder