Ich habe meine eigene Klasse und eine Liste mit Elementen dieser Klasse. Ich möchte in der Liste abfragen, ob ein gewisses Element vorhanden sind und dafür gewisse Variablen ignorieren. Muss ich über die Liste iterieren oder reicht es in diese Felder in der equals-Methode (und hash) zu ignorien und dann contains zu verwenden?
Beispiel:
Und dann
Meine Frage wäre scd true auch wenn die Instanz meiner Liste irrevleantForEqual anders gesetzt hat.
(Ja irrevleantForEqual hat seine Berechtigung da zu sein.)
Beispiel:
Java:
public class MyClass{
private String irrevleantForEqual;
private String relevantToEqual;
public MyClass(){}
//getters and setters
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof MyClass)) {
return false;
}
MyClass other = (MyClass) obj;
return relevantToEqual.equals(other.getRelevantToEqual());
}
}
Java:
MyClass search=new MyClass();
search.setRelevantToEqual("foo");
boolean scd=myList.contains(search);
(Ja irrevleantForEqual hat seine Berechtigung da zu sein.)
Zuletzt bearbeitet: