variabili stringa in programmi Java sono oggetti della classe String , la memorizzazione di sequenze di caratteri di testo . Ciò può essere fonte di confusione , perché i programmi creano le variabili stringa utilizzando lo stesso tipo di struttura utilizzata per le variabili di tipo primitivo , come numeri . Il seguente codice di esempio illustra la creazione di una variabile stringa : String name = " Giovanni " ;
Il programma può eseguire i metodi della classe String su questa variabile , alcuni dei quali coinvolgono alterare il contenuto del testo . Metodi che alterano il contenuto di una stringa normalmente restituiscono una nuova stringa , invece che modificare la stringa esistente . Questo perché le stringhe sono immutabili , il che significa che una volta che una variabile stringa viene creata , il suo contenuto non può essere modificato . I programmi in cui il contenuto di una stringa sembra essere alterato in realtà sono la creazione di nuove stringhe per sostituire quelli esistenti .
HashCode Funzione
Tutti gli oggetti in Java forniscono " funzione hashCode " . Questo perché tutte le classi Java ereditano dalla superclasse Object , che fornisce il metodo " hashCode " . Il seguente codice di esempio mostra la chiamata al metodo sulla variabile String : name.hashCode ( ) ;
chiamata a questo metodo provoca Java per generare un valore hash - codice per la variabile stringa specificata . Creazione di un valore hash -code un oggetto stringa coinvolge lo stesso processo come si usa per qualsiasi oggetto .
Risultati
Il metodo " hashCode " si traduce in un valore intero che rappresenta l'oggetto in questione . Questo numero consente di classi Java per ottimizzare il rendimento durante la memorizzazione di valori di dati , in particolare in collegamento con la classe HashMap o altre classi di altre raccolte . Nella maggior parte dei casi , un programmatore Java non ha bisogno di preoccuparsi dei dettagli dei numeri utilizzati come hash -codici per oggetti come corde , come le classi collezioni gestire questo dettaglio .
Equality
il risultato della chiamata al " hashCode " su due elementi che sono uguali dovrebbe essere lo stesso numero . Ad esempio , le due variabili stringa seguenti dovrebbero generare lo stesso valore di hash - code: String nomeacaso = " Giovanni " ; String otherName = " Giovanni " ;
Se due oggetti restituiscono un risultato vero se nell'impiego metodo equals , quindi Java li considera uguali , nel qual caso essi dovrebbero comportare lo stesso hash -code. Ad esempio , il codice seguente si tradurrebbe in un vero e proprio valore : booleano AreEqual = someName.equals ( otherName ) ;
È tipicamente il caso che se due stringhe non sono uguali , essi generano differenti valori di hash - code , ma questo non è garantito . (Vedi riferimenti 1, 2 , 3 ) per
Programmazione © www.354353.com