今日のハマり
前提その1
interface List
前提その2
interface List
書いたコード
public class Hoge { int fga; public boolean equals(Hoge aganst) { return fga==aganst.fga; } }
しかし、なぜか全然動かない。
- 答え
boolean equals(Object)はジェネリック型を使わない。Object型で書くべし。
Objectが引数のものと、Hogeが引数のものは、メソッドが違うものとみなして(引数の型が違うから)Object型ディフォルトのハッシュ比較を使っちゃうのでした。
うぉぉ、Javaのジェネリックコレクションは、所々穴があるぞ。なんとかしろ。まったくもう。