NetBeans 디버거에서 표현식을 사용하여 HashMap (backoffMap)에서 값을 확실히 반환해야하지만 null 만 가져 오는 것으로 생각했습니다. HashMap의 키에는 NetBeans에 따라 null 값이 없습니다. 스크린 샷은 내가보고있는 광기를 보여줍니다. 무슨 일이야?Java HashMap get() 메서드가 요소를 반환하지 않습니다.
이 안드로이드 API 레벨 16에서 실행 잘 모르겠어요하지만 달빅와 안드로이드 자바 라이브러리의 동작이 다를 수 있습니다, 그리고 원인이 될 수 있음을 주목해야한다 이 문제.
'backoffMap.keySet(). toArray() [82] .equals (b)'는 어떨까요? 이것을 보여주는 짧지 만 완전한 프로그램을 제작할 수 있습니까? (그렇게하면 도움이 될 것입니다.) –
키를 HashMap에 입력 한 후 키를 수정했을 수도 있습니다. 지도에 넣을 때와 같은 hashCode를 가지고 있지 않기 때문에 여전히 keySet에 있지만 get()은 새 hashCode에 따라 있어야하는 곳에서 찾지 않습니다. –
스크린 샷은 내가 장님이 아니라면 해시 코드가 동일하다는 것을 보여줍니다. 키 클래스는 고유 한 equals() 및 hashCode()를 구현하는 PeerAddress 유형의 사용자 정의 클래스입니다. @ JonSkeet : 내 프로그램이 갑자기 종료되었거나 갑자기 연결이 끊어짐에 따라 조건을 다시 복제 할 수있을 때 (역자 주) 역방향 같음()을 수행합니다. 감사합니다. –