Warum sollte ein Objekt für getEntry in HashMap definiert werden?
Ich bin neu in Generika und ich bin nicht sicher, ob die Antwort auf meine Frage istopinion based
oder hat einen echten Grund. Was musste im folgenden Code bei einem Schlüssel eines Eintrags zu einem Objekt beachtet werden?
Object k;
if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))
Es scheint leicht zu ersetzen durch
if (e.hash == hash && (e.key == key || (key != null && key.equals(e.key))))
Weitere Hinweise:
final Entry<K,V> getEntry(Object key) {
int hash = (key == null) ? 0 : hash(key);
for (Entry<K,V> e = table[indexFor(hash, table.length)];
e != null;
e = e.next) {
Object k;
if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))
return e;
}
return null;
}