2014-12-09 5 views
0

Objects.hash() 메서드를 사용하여 부모가있는 class 및 hashCode 메서드를 구현하려고했습니다.자바에서 객체의 부모 객체 참조를 어떻게 얻을 수 있습니까?

public int hashCode() { 
    return Objects.hash(super, attribute1); 
} 

는 내가 계정으로 부모 (당신이 같음을 구현하면서 부모를 확인해야 같은 방식으로) 가지고 가야의 해시 코드를 생성하는 것 같아요.

Objects.hash 메서드는 예상되는 개체이지만 super는 예약어입니다.

다른 해결 방법을 사용하여 구현할 수 있지만 부모에게 참조하는 Objects.hash() 메소드를 호출 할 수있는 방법이 있습니까?

+0

아마도 Objects.hash (super.hashCode()) – sfat

+0

내 생각에이 작업은 inbox super.hashCode()를 Integer 객체로 사용하고이를 인수로 사용합니다. Objects.hash() 메소드. 그것은 효과가 있지만 질문은 unaswered 남아있다. 부모 개체의 참조를 얻으려면 어떻게해야합니까? –

+0

@DiegoRosado : "부모 개체"같은 것은 없습니다. 'this'가 가리키는 현재 객체 만 있습니다. 'super'는 멤버들과 다른 방식으로 'this'를 액세스합니다. – newacct

답변

2

"부모 개체"와 같은 것이 없습니다. this이 현재 인스턴스입니다. 여기에서 무엇을 하려는지 확실하지 않지만 그 중 하나가 필요하다는 것을 의심하십시오.

예를 들어 attribute1.hashCode()이면 충분합니다. 또는 하나 이상의 속성이있는 경우 Objects.hash(attribute1, attribute2, attribute3, ...)

관련 문제