Method hashCode() Pada Class String

Method int hashCode() pada class String akan mengembalikan kode hash dari string tersebut dalam bentuk Integer. Kode hash pada objek String ini dikomputasi sebagai:

s[0]*31^(n – 1) + s[1]*31^(n – 2) + … + s[n – 1]

Dimana :

  • s[i] adalah karakter dari string
  • n adalah panjang (length) dari string
  • ^ adalah eksponen

Nilai hash dari string kosong adalah nol.

 

hashCode_Class_String

Method ini merupakan method default dan tidak menerima parameter apapun.

Perlu diketahui pada umumnya, jika dua objek String equal ketika diuji dengan method equals() maka nilai nilai hash code-nya juga akan sama.

Contoh:

Output :

Walaupun demikian, menggunakan method hashCode() tidak disarankan untuk menguji dua string tersebut equal atau tidak, karena bisa saja kedua string itu tidak equal namun memiliki nilai hash code yang sama.

Contoh:


Output:

Oleh karena itulah tidak disarankan untuk mengecek equality dari dua objek String menggunakan method hashCode().

Be the first to comment

Leave a Reply

Your email address will not be published.


*