반응형
Value v1 = new Value(10);
Value v2 = new Value(20);
v1.equal(v2)를 하면 v1과 v2의 주소값을 비교하기 때문에 false가 나올 수밖에 없다.
이런경우 overiding을 통해 해결할 수 있다.
class person{
long id;
public boolean equals(Object obj){
if(id == ((Person)obj).id){
return true;
else
return false;
}
}
class test{
public static void main(String args[])
{
person p1 = new person(10);
person p2 = new person(20);
if (p1 == p2) // 이제 제대로 값 비교가 된다.
}
반응형
'JAVA > JAVA 관련' 카테고리의 다른 글
java 향상된 for문 (5) | 2016.12.22 |
---|---|
java 오토박싱 예제 (0) | 2016.12.22 |
java 문자열 형변환 (0) | 2016.12.22 |
자바 얕은 복사, 깊은복사 개념 및 예제 (0) | 2016.12.22 |
java iterator 간단 사용법 (0) | 2016.12.22 |