Ich muss in meiner Equals Methode nur das Datum beachten, also wenn das gleiche Datum, dann ist gleich. Die Uhrzeit soll nicht beachtet werden. Mein Problem ist, dass es beachtet wird und ich im Internet nichts dazu gefunden habe.
Ich muss in meiner toString Methode auch nur das Datum ausgeben, aber dafür müsste ich Calendar formatieren. Nur weiß ich nicht wie.
Code:
private Calendar date = Calendar.getInstance();
public Dataset(Calendar date, double open, double high, double low, double close){
this.date=date;
//this.open=open;
//this.high=high;
//this.low=low;
// this.close=close;
}
public Calendar getDate(){
return date;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(close);
result = prime * result + (int) (temp ^ (temp >>> 32));
result = prime * result + ((date == null) ? 0 : date.hashCode());
temp = Double.doubleToLongBits(high);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(low);
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(open);
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (!(obj instanceof Dataset)) {
return false;
}
Dataset other = (Dataset) obj;
if (Double.doubleToLongBits(close) != Double
.doubleToLongBits(other.close)) {
return false;
}
if (date == null) {
if (other.date != null) {
return false;
}
} else if (!date.equals(other.date)) {
return false;
}
if (Double.doubleToLongBits(high) != Double
.doubleToLongBits(other.high)) {
return false;
}
if (Double.doubleToLongBits(low) != Double.doubleToLongBits(other.low)) {
return false;
}
if (Double.doubleToLongBits(open) != Double
.doubleToLongBits(other.open)) {
return false;
}
return true;
}
Ich muss in meiner toString Methode auch nur das Datum ausgeben, aber dafür müsste ich Calendar formatieren. Nur weiß ich nicht wie.