は、私はそれは冗長であるように私には思えるなぜキャストする必要がありますか?次のコードスニペットで
Product other = (Product)obj;
の有用性について非常に明確ではないです。これを削除し、 "return this.id == other.id"を "return this.id == obj.id"に変更できますか?
public class Product{
String description;
double price;
int id;
public Product(String d, double p, int i){
description = d;
price = p;
id = i;
}
public boolean equals(Object obj){
if(!(obj instanceof Product){
return false;
}
Product other = (Product)obj;
return this.id == other.id;
}
public int hashcode(){
return id;
}
public String toString(){
return id + " "+description;
}
}
なぜあなたはそれを試して何が起こるか見てみませんか? – skaffman