제네릭에 익숙하지 않고 제 질문에 대한 답변이 opinion based
이거나 진짜 이유가 확실하지 않습니다. 다음 코드에서 객체에 대한 키의 대문자를 입력해야하는 이유는 무엇입니까?HashMap에서 getEntry에 대한 객체를 정의하는 이유
Object k;
if (e.hash == hash && ((k = e.key) == key || (key != null && key.equals(k))))
쉽게
if (e.hash == hash && (e.key == key || (key != null && key.equals(e.key))))
더 참조로 대체 될 것으로 보인다
: 당신은 k
와 동일한 지 어떤지를 체크 곳 key
의 마지막 부분을 놓친
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;
}
k에 대한 과제를 삭제하려고하지 않습니다. – JavaDeveloper
나는 k를 전혀 사용하지 않기로했다. – JavaDeveloper