2013-08-08 4 views
1

View 클래스가 equals()hashcode() 메서드를 재정의합니까? HashMapAdapterViewsView 클래스의 Hashcode() 및 equals() 구현

+1

당신은 안드로이드가 오픈 소스라는 것을 알지? 코드보기는 https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/View.java – njzk2

답변

0

과 같이 만들고 싶습니다. View이 해당 방법을 무시하면 중요하지 않습니다. 모든 것은 Object에서 확장되므로 구현이있을 것입니다. 구현이 View과 관련이 있는지 여부는 (거의 항상) 부적합합니다. 따라서 Map의 키로 사용할 수 있습니다.

편집 : Viewhashcode()에 대해 아무 것도 찾을 수 없는데, 기본 자바 클래스 인 Object을 설명하는 Android 설명서에서 멋진 페이지를 발견했습니다. 이 설명서에서는 hashcode() 메서드를 구현하는 방법과 개체가 해당 메서드를 지원하지 않는 경우 수행 할 작업 (UnsupportedOperationException을 던지는 것이 좋습니다)에 대해 설명합니다. 그러므로 안드로이드 라이브러리의 클래스가 hashcode()을 지원하지 않는다면 구글도 똑같은 일을한다고 가정해야한다.

+2

나는 그 질문이 더 많다고 생각한다. "2 다른보기가 같음으로 간주되어 hashmap 키에 적합하지 않습니까? " – njzk2

+0

정확히, njzk2. –

1

질문을 올바르게 이해하면 HashMaps를 구현해야하며 View 클래스 또는 AdapterViews이 처리해야하는지 궁금합니다.

음, ViewhashCode() and equals()를 구현하지 않지만 그들이 수입 MAPS을한다.

용액 용;

당신은 해시 코드()와 같음() 구현에 함수를 재정의해야합니다.

자세한 내용은 implementing hash code을 참조하십시오. 또 Good source.

희망이 도움이됩니다.

+0

고마워! 그거 좋네! 나는 그 방법을 구현하지 않기를 바랬다. –

+0

도움이 되니 기쁩니다. 답을 수락하여 질문을 닫을 수 있다면 감사하겠습니다. 감사. – JNL

관련 문제