List
(実際には)がLinkedList
あり、メソッドを実装するアイテムをそれに追加しequals
ます。
問題は、等しいが同一ではない項目 (2 つの初期化されたオブジェクトなど) を追加することです。ここで、2 番目に追加したアイテムのインデックスを取得したい場合は、もちろん最初のアイテムの要素を取得しますindexOf
。
-methodの独自のサブクラスを作成してLinkedList
上書きしようとしましたが、サブクラスにも Node-ElementindexOf
にもアクセスできないため、これは不可能です。Node
first
次に例を示します。
public class ExampleObject {
int number;
public ExampleObject(){
number = 0;
}
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null) return false;
if (getClass() != obj.getClass()) return false;
ExampleObject other = (ExampleObject) obj;
if (number != other.number) return false;
return true;
}
public static void main(String[] args) {
LinkedList<ExampleObject> list = new LinkedList<ExampleObject>();
ExampleObject one = new ExampleObject();
ExampleObject two = new ExampleObject();
list.add(one);
list.add(two);
System.out.println(list.indexOf(one)); // '0' as expected
System.out.println(list.indexOf(two)); // '0', but I want to get '1'
}
}
私の意図:初期化されたオブジェクトを保存して後で編集したいオブジェクトのリストが必要です。