Parece que hay un debate en curso acerca de si es seguro confiar en la implementación actual del String.hashCode()
porque, técnicamente hablando, está garantizado por la especificación (Javadoc).¿Por qué Sun especificó la implementación de String.hashCode()?
- ¿Por qué Sun especificó la implementación de
String.hashCode()
en la especificación? - ¿Por qué los desarrolladores alguna vez necesitarían confiar en una implementación específica de hashCode()?
- ¿Por qué el Sol tiene tanto miedo de que el cielo se caiga si se cambia
String.hashCode()
en el futuro? (Esto probablemente se explicará por # 2)
¡Buen punto! Me pregunto ... ¿podrían haber logrado lo mismo sin bloquear hashCode()? – Gili
@Gili, no sin añadir un método llamado "implementationAndVersionIndependentHashCode()" ;-) – Rob
@Gili si no cerraba abajo hashCode, ¿cómo podían estar seguros de que dos máquinas conectadas a través de RMI podían pasar los hashes de ida y vuelta? Supongo que solo debes renunciar al concepto de hash compartido. –