Ich habe gelesen, dass dies für String.hashCode der Quellcode()Was sind Variablen "Offset" & "Hash" in String.hashCode()?
public int hashCode() {
int h = hash;
if (h == 0) {
int off = offset;
char val[] = value;
int len = count;
for (int i = 0; i < len; i++) {
h = 31*h + val[off++];
}
hash = h;
}
return h;
}
Meine Frage ist, was sind "Offset" & "hash"? Ich kann sagen, dass "Wert" der tatsächliche String und "Länge" ist seine Länge, aber ich verstehe nicht, was die anderen beiden sind.
Sie könnten einen Blick darauf werfen der * Rest * des 'String'-Quellcodes für den Kontext. –
@AndyTurner Danke, hatte 8 und 7 überprüft –
Lesen Sie die Kommentare im Quellcode neben ['offset'] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/ 6-b14/java/lang/String.java # 116) und ['hash'] (http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java /lang/String.java#122). –