Java -toepassingen modelcode onderdelen als objecten , met elk object met een oppervlakte van verantwoordelijkheid . Objecten bieden methoden voor het uitvoeren van hun verantwoordelijkheden . Sommige methoden in Java worden uitgevoerd door alle mogelijke objecten , waaronder strijkers . De Java framework kunnen ontwikkelaars bepaalde vormen van opslag structuur gegevens , waarvan sommige gebruikt hash - code waarden om items te slaan gebruiken . Een hash - code waarde gebruikt een code om te verwijzen naar een specifiek object , waardoor de collectie klasse naar efficiënte methoden te implementeren voor het opslaan van meerdere objecten binnen het programma . Java-code kan berekenen hash - code waarden voor alle objecten , waaronder strijkers , die zijn onveranderlijk . String Content String variabelen in Java -programma's zijn objecten van de klasse String , opslaan sequenties van tekens . Dit kan verwarrend omdat programma maakt stringvariabelen met hetzelfde type structuur voor primitieve variabelen zoals getallen . De volgende voorbeeldcode geeft aan het creëren van een string variabele : String naam = " John " ; Het programma kan uitvoeren methoden van de klasse String op deze variabele , waarvan enkele het veranderen van de inhoud van de tekst . Methoden die de inhoud van de tekenreeks veranderen gewoonlijk retourneren een nieuwe reeks , in plaats dat de bestaande string. Dit komt omdat strings zijn onveranderlijk , wat betekent dat zodra een string variabele wordt gemaakt , de inhoud ervan niet kan worden gewijzigd . Programma's waarin de inhoud van een string lijkt te zijn veranderd zijn in feite het creëren van nieuwe snaren ter vervanging van bestaande . Hashcode Functie Alle objecten in Java zorgen voor de " hashCode functie " . Dit komt omdat alle Java-klassen erven van de superklasse Object , die de " hashCode " methode geeft . De volgende voorbeeldcode geeft aan de methode van de String variabele : name.hashCode ( ) ; aanroepen van deze methode zorgt ervoor dat Java een hash - code waarde voor de string variabele opgegeven genereren . Het creëren van een hash - code waarde voor een string object gaat het hetzelfde proces als je zou gebruiken voor elk object . Resultaat De " hashCode " -methode resulteert in een integer waarde die het object in kwestie . Dit nummer kan Java klassen optimaliseren efficiëntie bij het opslaan gegevenswaarden , met name in samenhang met de klasse HashMap of andere verwante verzamelingen klassen . In de meeste gevallen bevat een Java -programmeur geen zorgen te maken over de details van de nummers gebruikt als hash - codes voor items zoals strijkers , zoals de collecties klassen behandelen dit detail . Gelijkheid het resultaat van het aanroepen van de " hashCode " op twee punten die gelijk zijn moet hetzelfde nummer zijn . Zo moet bijvoorbeeld de volgende twee stringvariabelen dezelfde hash - code waarde genereren : ; String Andere naam = " John " ; String somename = " John " Als twee objecten terug een echte resultaat bij gebruik binnen het evenaart methode , dan is Java beschouwt hen gelijk , in welk geval zij moeten resulteren in dezelfde hash - code . Bijvoorbeeld , zou de volgende code resulteert in een werkelijke waarde : boolean areEqual = someName.equals ( Andere naam ) ; Het is typisch het geval dat als twee tekenreeksen niet gelijk zijn , zullen ze verschillende hash - code waarden genereren , maar dit wordt niet gegarandeerd . ( Zie Referenties 1 , 2 , 3 ) op Twitter
|