variables de cadena en los programas Java son objetos de la clase String , almacenar secuencias de caracteres de texto. Esto puede ser confuso , ya que los programas crean variables de cadena utilizando el mismo tipo de estructura que se utiliza para las variables de tipo primitivo , como números . El siguiente código de ejemplo muestra cómo crear una variable de cadena : String nombre = "Juan" ;
El programa se puede llevar a cabo los métodos de la clase String en esta variable, algunos de los cuales implican alterar el contenido del texto. Los métodos que alteran el contenido de una cadena normalmente devuelven una nueva cadena , en lugar de la alteración de la cadena existente . Esto se debe a que las cadenas son inmutables , lo que significa que una vez que se crea una variable de cadena , su contenido no puede ser alterado. Programas en los que el contenido de una cadena parece estar alterado en realidad está creando nuevas cadenas para sustituir las existentes.
HashCode Función
todos los objetos de Java ofrecen la " función hashCode " . Esto es porque todas las clases de Java heredan de la superclase del objeto , lo que proporciona el método " hashCode " . El siguiente código de ejemplo muestra una llamada al método en la variable String : name.hashCode ();
llamar a este método Java para generar un valor de código hash para la variable de cadena especificado. La creación de un valor de código hash para un objeto de cadena implica el mismo proceso que se uso para cualquier objeto.
Resultado
El método " hashCode " da lugar a un valor entero que representa el objeto en cuestión . Este número permite que las clases de Java para optimizar la eficiencia al almacenar valores de datos , en particular en conjunción con la clase HashMap o colecciones de otras clases relacionadas . En la mayoría de los casos , un programador de Java no tiene que preocuparse por los detalles de los números utilizados como hachís -códigos para artículos tales como cadenas , como las clases de colecciones manejar este detalle.
Igualdad
el resultado de llamar a la " hashCode " en dos elementos que son iguales debe ser el mismo número . Por ejemplo , las dos variables de cadena debe generar el mismo valor de código hash : String someName = "Juan" ; Cadena otherName = "Juan" ;
Si dos objetos devuelven un resultado verdadero cuando se utiliza dentro de la método equals , a continuación, Java considera que son iguales, en cuyo caso se deberían dar lugar a la misma - código hash . Por ejemplo , el siguiente código daría como resultado un valor verdadero : boolean AreEqual = someName.equals ( otherName ) ;
Es el caso típico de que si dos cadenas no son iguales , se generan diferentes valores de código hash de , pero esto no está garantizado . (Ver Referencias 1 , 2, 3 )