반응형
Java는 클래스와 동일합니다. == .equals와 동일
대신 변수 ==
에 대해 수행 하고 동일한 결과를 기대할 수 있습니까?Class
equals
예를 들면 :
Class clazz = xyz;
사례 A :
if(clazz == Date.class) {
// do something
}
사례 B :
if(Date.class.equals(clazz)) {
// do something
}
사례 A와 사례 B는 기능적으로 동일합니까?
클래스는 최종 클래스이므로 equals ()를 재정의 할 수 없습니다. equals () 메소드는 다음을 읽는 Object에서 상속됩니다.
public boolean equals(Object obj) {
return (this == obj);
}
예, 그들은 클래스 또는 재정의하지 않는 모든 유형에 대해 동일합니다. equals(Object)
두 번째 질문에 답하기 위해 각 ClassLoader는 클래스를 한 번만로드 할 수 있으며 주어진 정규화 된 이름에 대해 항상 동일한 클래스를 제공합니다.
예.
Class 클래스 설명을 살펴보고에서 상속 equals
되며 Object
메서드가 다음과 같이 읽습니다.
"Object 클래스의 equals 메소드는 객체에 대해 가능한 가장 구별되는 등가 관계를 구현합니다. 즉, null이 아닌 참조 값 x 및 y에 대해이 메소드는 x와 y가 동일한 객체를 참조하는 경우에만 true를 반환합니다 (x = = y는 true 값을 가짐). "
예, equals(...)
클래스 의 코드 는 다음과 같습니다.
public boolean equals(Object obj) {
return (this == obj);
}
참고 URL : https://stackoverflow.com/questions/7322469/java-equals-for-a-class-is-same-as-equals
반응형
'program tip' 카테고리의 다른 글
인터페이스의 명시 적 구현이 공개 될 수없는 이유는 무엇입니까? (0) | 2020.11.02 |
---|---|
ASP.NET MVC : 숨겨진 필드 값은 HtmlHelper.Hidden을 사용하여 렌더링되지 않습니다. (0) | 2020.11.02 |
사용자 지정 실행 파일 또는 스크립트를 넣을 Unix 표준 디렉토리? (0) | 2020.11.02 |
클래스 제거시 CSS 전환 (0) | 2020.11.02 |
CloudFormation 템플릿을 빠르고 효과적으로 디버깅하려면 어떻게해야합니까? (0) | 2020.11.02 |