कहते हैं, मैं एक वस्तु बनाता हूं और उसे अपने साथ जोड़ता हूं ArrayList। अगर मैं फिर उसी कंस्ट्रक्टर इनपुट के साथ एक और ऑब्जेक्ट बनाता हूं, तो क्या contains()विधि दो वस्तुओं के समान होने का मूल्यांकन करेगी ? मान लें कि कंस्ट्रक्टर इनपुट के साथ कुछ भी अजीब नहीं करता है, और दोनों ऑब्जेक्ट्स में संग्रहीत चर समान हैं।
ArrayList<Thing> basket = new ArrayList<Thing>();
Thing thing = new Thing(100);
basket.add(thing);
Thing another = new Thing(100);
basket.contains(another); // true or false?
class Thing {
public int value;
public Thing (int x) {
value = x;
}
equals (Thing x) {
if (x.value == value) return true;
return false;
}
}
क्या वापसी के classलिए इसे लागू किया जाना चाहिए ?contains()true