Equals_Ex2

Posted 2015. 4. 10. 15:54

package chap9;

class Value2{
 int value;
 Value2(int value){
  this.value = value;
 }
 
 // 객체의 내용을 비교해서 같으면 true
 // 다르면 false 리턴하는 메서드로 오버라이딩
 @Override
 public boolean equals( Object obj ){
  if( obj instanceof Value2 ){
   Value2 v = (Value2)obj;
   if( value == v.value ) return true;
   else return false;
  }
  else return false;
 }
}

public class Equalsx2 {
 public static void main(String[] args) {
  Value2 v1 = new Value2(10);
  Value2 v2 = new Value2(10);
  
  if( v1 == v2 ) System.out.println("v1객체와 v2객체는 같습니다.");
  else System.out.println("v1객체와 v2객체는 다릅니다.");

--> 객체를 비교하면 다르다가 출력
  
  if( v1.equals(v2) ) System.out.println("v1.equals(v2) : true");
  else System.out.println("v1.equals(v2) : false");

--> 객체들의 Obj를 비교하면 같다가 출력됨. 둘다 Value2를 사용했기때문
  
  System.out.println(v1.hashCode());
  System.out.println(System.identityHashCode(v1));
 }
}

'Java !!!' 카테고리의 다른 글

String  (0) 2015.04.10
HashCode  (0) 2015.04.10
Equals  (0) 2015.04.10
StringBuffer_Ex2  (0) 2015.04.10
StringBuffer  (0) 2015.04.10