我有該結構的集合。我沒有重複,但當我打電話時: set.add(element) - >並且已經有確切的元素,我希望替換舊的元素。替換HashSet Java成員
import java.io.*;
public class WordInfo implements Serializable {
File plik;
Integer wystapienia;
public WordInfo(File plik, Integer wystapienia) {
this.plik = plik;
this.wystapienia = wystapienia;
}
public String toString() {
// if (plik.getAbsolutePath().contains("src") && wystapienia != 0)
return plik.getAbsolutePath() + "\tWYSTAPIEN " + wystapienia;
// return "";
}
@Override
public boolean equals(Object obj) {
if(this == obj) return true;
if(!(obj instanceof WordInfo)) return false;
return this.plik.equals(((WordInfo) obj).plik);
}
@Override
public int hashCode() {
return this.plik.hashCode();
}
}
無法理解的代碼片段和問題之間的關係。你能解釋一下,在代碼中設置它在哪裏?另外,如果你的物體完全一樣,那你爲什麼要更換? –
@YogendraSingh - OP希望能夠用一個較新的'equals()'替換一箇舊的'WordInfo',但它不是同一個對象。 (注意,'equals()'測試忽略了'wystapienia'的值。) –
@TedHopp:謝謝,但仍然是'return this.plik.equals(((WordInfo)obj).plik);'會讓它變成返回'true',否? –