Kody mieszania nie muszą być różne dla różnych obiektów. Jedynym wymogiem jest to, że muszą być takie same dla równych obiektów.
Jeśli istnieje obawa, że Twoje wewnętrzne klasy SwingWorker
wytwarzają identyczne kody skrótu, możesz przesłonić metodę hashCode
w swojej wewnętrznej klasie, aby zapewnić kody skrótów, które lepiej odpowiadają Twoim potrzebom. Oczywiście trzeba by zastąpić equals
jak również do zasilania logiki pasujący do obu metod:
final int workerId = 123;
SwingWorker<String,Object> myWorker = new SwingWorker<String,Object> {
@Override
public String doInBackground() {
...
}
@Override
protected void done() {
...
}
@Override
public int hashCode() {
return workerId;
}
@Override
public boolean equals(Object other) {
return other == this;
}
}
'SwingWorker' nie implementuje' 'hashCode' a zatem realizacja Object' nazywa. Przeczytaj jego javadoc. –