我想知道如果我重寫toString方法,從對象返回的實例之一,那麼它是否更有可能導致衝突?例如,重寫toString方法,並避免碰撞
class Student{
private String name;
private double gpa;
public Student(String name, double gpa){
this.name = name;
this.gpa = gpa;
}
public String toString(){
return name;
}
}
所以,問題是,我想說明的名字,當打印Student對象,但是當兩個不同的學生具有相同的名稱(不同的GPA)將導致我一個問題,如果我存儲他們所有在HashMap中。 有什麼替代方法可以避免碰撞,而無需修改原始學生課程,或者對其進行最小限度的修改?
你混淆了'hashCode'和'toString'方法嗎? 'toString'幾乎僅用於信息/顯示目的。 – Perception
只需使用所有方法'toString','equals'和'hashCode'中的屬性。 –
是的,如果您正在使用地圖系列,則沒有使用toString方法。對於地圖系列,您需要學習hashCode和equals方法。 toString用於顯示目的。 –