반응형
String str = "abcd";
if (str.equals(new String ("abcd")) {
System.out.println("Same value");
}
어떤 특정한 상황에서 같은 클래스에 속하는 객체 두 개가 사실상 같은 것으로 간주하도록 싶다면 그냥 Object 클래스의 equals() 메소드로는 충분하지 않을 것이다. 객체 두 개의 모든 인스턴스 변수가 똑같다고 하더라도 기본 equals() 메소드에서는 항상 false를 리턴할 것이다. equals() 메소드를 오버라이딩할 때는 어떤 인스턴스 변수가 똑같을 때 두 객체를 같은 것으로 볼 수 있을지 결정한 다음 equals() 메소드에서 두 객체의 해당 인스턴스 변수들의 값을 비교해야 한다. 주의, equals() 메소드를 오버라이드할 때는 반드시 hashCode() 메소드도 오버라이드 해야 한다. 그 방법은 아래에 API 문서에서 Object 클래스에 대한 내용을 확인해 보길 바란다.
http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html
Head First Java p.625
반응형
'개발 및 관리 > Java' 카테고리의 다른 글
Collection (0) | 2013.02.07 |
---|---|
String VS StringBuffer (0) | 2013.02.07 |
Head First Series (0) | 2013.02.05 |
RMI 예제 (0) | 2013.02.05 |
서블릿 정리 (0) | 2013.02.04 |