要实现hashCode,您可以覆盖Object的默认实现:
@Overridepublic int hashCode(){ return row ^ col;}这实际上不是理想的哈希,因为它的结果非常可预测,并且两个不同的
Coord对象很容易返回相同的值。更好的哈希将利用(http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html)中的内置
Arrays类:
java.util
@Overridepublic int hashCode(){ return Arrays.hashCode(new Object[]{new Character(row), new Character(col)});}您可以使用此方法生成具有任意多个字段的很好的哈希。
要实现compareTo,您将希望您的类实现Comparable:
public class Coord implements Comparable<Coord>
完成此操作后,您可以使compareTo接受type
Coord而不是type 的参数
Object,这将省去检查其类型的麻烦。



