Page History
비교가능한카드
앞장에서 설명한 카드에, 비교가능한 기능을 탑재해보자
제네릭 프로그래밍의 한가지 방법으로, 커스텀한 자료에대해 비교기능을 탑재하여
여러가지 자료구조에서 추가적인 구현없이 비교가능해진다. 소팅이 한가지예이다.
Code Block | ||||
---|---|---|---|---|
| ||||
public class Card implements Comparable<Card>
{
@Override
public int compareTo(Card other) {
if (this.getValue()<other.getValue()) return -1;
else if (this.getValue()>other.getValue()) return 1;
else return 0;
}
@Override
public boolean equals(Object o){
Card anotherCard = (Card) o;
return this.getValue() == anotherCard.getValue();
}
@Override
public int hashCode(){
assert false: "no hashcode implementation";
return 17;
}
} |