? Applications Java modèle des composants de code comme des objets , chaque objet ayant un domaine de responsabilité . Objets fournissent des méthodes pour mener à bien leurs responsabilités. Certaines méthodes Java sont mises en œuvre par tous les objets possibles , y compris les chaînes. Le framework Java permet aux développeurs d'utiliser certains types de structures de stockage de données , dont certaines utilisent des valeurs hash- code pour stocker des objets . Une valeur de code de hachage utilise un code pour faire référence à un objet spécifique , permettant la classe de collection à mettre en œuvre des méthodes efficaces pour stocker plusieurs objets au sein du programme . Code Java peut calculer les valeurs de hachage de code pour tous les objets , y compris les chaînes, qui sont immuables . String Le contenu
variables chaîne dans les programmes Java sont des objets de la classe String , stocker des séquences de caractères de texte. Cela peut être déroutant , car les programmes créent des variables de chaîne en utilisant le même type de structure utilisée pour les variables de type primitif comme des numéros . L'exemple de code suivant illustre la création d'une variable chaîne : String name = " John";
Le programme peut réaliser de méthodes de la classe String de cette variable , dont certaines impliquent modifier le contenu du texte . Les méthodes qui modifient le contenu d'une chaîne reviennent normalement une nouvelle chaîne, plutôt que de modifier la chaîne existante . C'est parce que les chaînes sont immuables , ce qui signifie qu'une fois une variable de chaîne est créée, son contenu ne peut être modifié . Programmes dans lesquels le contenu d'une chaîne semble être modifiées sont en fait la création de nouvelles chaînes pour remplacer ceux existants .
HashCode Fonction
tous les objets Java offrent le " fonction hashCode " . C'est parce que toutes les classes Java héritent de la superclasse Object , qui fournit la méthode " hashCode " . L'exemple de code suivant illustre l' appel à la méthode de la variable String : name.hashCode ();
appel de cette méthode provoque Java pour générer une valeur de code de hachage pour la variable de chaîne spécifiée . Création d' une valeur de code de hachage pour un objet chaîne implique le même processus que vous souhaitez utiliser pour n'importe quel objet .
Résultat
La méthode " hashCode " se traduit par une valeur entière représentant l'objet en question . Ce numéro permet à des classes Java pour optimiser l'efficacité lors de l'enregistrement des valeurs de données , en particulier en conjonction avec la classe HashMap ou d'autres classes de collections connexes. Dans la plupart des cas, un programmeur Java n'a pas besoin de se soucier des détails des numéros utilisés comme hash - code pour des articles tels que des cordes , comme les classes de collections gérer ce détail.
Égalité
Photos
le résultat de l'appel de la " hashCode " sur deux points qui sont égaux devrait être le même numéro. Par exemple, les deux variables de chaînes suivantes devraient générer la même valeur de hachage de code : String UnNom = " John"; cordes otherName = " John";
Si deux objets renvoient un résultat vrai lorsqu'il est utilisé dans le Equals , puis Java considère comme des égaux, auquel cas ils devraient se traduire par le code de hachage même . Par exemple , le code suivant entraînerait une vraie valeur : booléen AreEqual = someName.equals ( otherName ) ;
C'est typiquement le cas que si les deux chaînes ne sont pas égales , elles génèrent des valeurs de hachage de code , mais ce n'est pas garanti . (Voir les références 1, 2, 3) pour