'디폴트'에 해당되는 글 1건

  1. 2007.11.02 equals()메소드 2
Study - Programming/JAVA2007. 11. 2. 02:09

앞선 포스팅에서 equals()메소드를 이용하면 값의 비교가 가능하다고 하였다.

하지만 다음 코드의 결과값은 역시 false이다.

class Value
{
 int i;
}

public class EqualMethod{
 public static void main(String[] args)
 {
  Value v1 = new Value();
  Value v2 = new Value();
 
  v1.i = v2.i = 100;
 
  System.out.println(v1.equals(v2));
 }
}

그 이유는 Default equals method 는 객체의 레퍼런스를 비교하기 때문에 false가 되는 것이다.
그러므로 Default equals method가 아닌 따로 equals() 메소드를 오버라이드 시켜 줘야 한다. 예를 들면 이렇게.

 boolean equals(Value obj)
 {
  if(obj.i == i)
   return true;
  return false;
 }

Posted by 머리