equals( )
- Object 클래스의 equals( ) 메소드는 객체의 참조값을 비교해서 같으면 true를 반환
- 객체 정보 비교를 위해서는 equals( ) 메소드를 만든다.
- 내용이 같더라도 참조값의 저장 위치가 다르기 때문에 false
public class User{
private String id;
public User(String id) {
this.id = id;
}
public static void main(String[]args){
User user1 = new User("admin");
User user2 = new User("admin");
System.out.println(user1.equals(user2));
}
}
equals( ) 오버라이드
- Object 클래스의 equals( ) 메소드는 객체의 필드값을 비교하지 못하므로 오버라이드해서 필드값을 비교할 수 있도록 처리함
public class User{
private String id;
public User(String id){
this.id = id;
}
@Override
public boolean equals(Object obj){
return id.equals(((User)obj).id);
}
public static void main(String[] args){
User user1 = new User("admin");
User user2 = new User("admin");
System.out.println(user1.equals(user2));
}
}
equals( ) 만드는 방법