您的位置:首页 > 其它

Set重写hashCode()和equals()的实例

2016-08-01 20:10 253 查看
import java.util.HashSet;

public class Test {
public static void main(String[] args) {
HashSet<Weather> hashset = new HashSet<Weather>();
hashset.add(new Weather("11", 11, 3));
hashset.add(new Weather("11", 12, 4));
hashset.add(new Weather("16", 1, 13));
System.out.println(hashset);
}
}

class Weather {
private String date;
private double temperature;
private double WindSpeeds;

public Weather(String date, double temperature, double WindSpeeds) {
this.date = date;
this.temperature = temperature;
this.WindSpeeds = WindSpeeds;
}

public String getDate() {
return date;
}

public void setDate(String date) {
this.date = date;
}

public double gettemperature() {
return temperature;
}

public void settemperature(double temperature) {
this.temperature = temperature;
}

public double getWindSpeeds() {
return WindSpeeds;
}

public void setFengsu(double WindSpeeds) {
this.WindSpeeds = WindSpeeds;
}

@Override
public int hashCode() {
int result = date == null ? null : date.hashCode();
return result;
}

@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (obj == this) {
return true;
}
if (obj instanceof Weather) {
Weather w = (Weather) obj;
if (w.date.equals(this.date)) {
return true;
}
}
return false;
}

@Override
public String toString() {
return "weather [date=" + date + ", fengsu=" + WindSpeeds + ", weidu="
+ temperature + "]";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: