मेरे पास कोड से नीचे है जो बराबर() और हैशकोड() विधियों को ओवरराइड करता है।गेटर्स बराबर और हैशकोड में उपयोग किया जा सकता है?
public boolean equals(Object obj)
{
if (obj == null)
return false;
if (!(obj instanceof Name))
return false;
Name name = (Name) obj;
return this.name.equals(name.name);
}
public int hashCode()
{
return name.hashCode();
}
यहाँ
मैं 2 लाइनों के नीचे की जगह ले सकता:
return this.name.equals(name.name);
return name.hashCode();
साथ
return this.getName().equals(name.getName());
return getName().hashCode();
मैं बजाय गुणों का उपयोग करके मैं सीधे ही टिककर खेल के अंदर के बराबर होती है और hashCode तरीकों का उपयोग कर सकते हैं की क्या मतलब है?
धन्यवाद!
और क्यों नहीं?:) –
हाँ, कोई समस्या नहीं है। – MJM
हां। आप बस सेटर्स या फ़ील्ड्स का उपयोग नहीं कर सकते हैं, जब ऑब्जेक्ट संग्रह में होता है तो संशोधित किया जा सकता है। –