मैं यह जांचना चाहता हूं कि क्या कोई List
ऐसा ऑब्जेक्ट है जिसमें एक निश्चित मान के साथ एक फ़ील्ड है। अब, मैं एक लूप का उपयोग कर सकता हूं और जांच कर सकता हूं, लेकिन अगर कुछ और कोड कुशल था तो मैं उत्सुक था।
कुछ इस तरह;
if(list.contains(new Object().setName("John"))){
//Do some stuff
}
मुझे पता है कि उपरोक्त कोड कुछ भी नहीं करता है, यह केवल मोटे तौर पर प्रदर्शित करने के लिए है कि मैं क्या हासिल करने की कोशिश कर रहा हूं।
इसके अलावा, बस स्पष्ट करने के लिए, कारण जो मैं एक साधारण लूप का उपयोग नहीं करना चाहता हूं, क्योंकि यह कोड वर्तमान में एक लूप के अंदर जाएगा जो लूप के अंदर है जो लूप के अंदर है। पठनीयता के लिए मैं इन छोरों में छोरों को जोड़ना नहीं चाहता हूं। तो मुझे आश्चर्य हुआ कि क्या कोई सरल (ईश) विकल्प थे।
equals(Object)
अपने कस्टम ऑब्जेक्ट की विधि को ओवरराइड करें ?
for(Person p:list) if (p.getName().equals("John") return true; return false;
मुझे डर है कि जावा में आपको अधिक संक्षिप्त तरीका नहीं मिलेगा।
p.equals(p)
होना चाहिए , इसलिए मैं उलझन में हूं कि आप क्या हासिल करने की कोशिश कर रहे हैं। उम्मीद है कि अगर आप कोई नया सवाल पूछेंगे तो आपको बेहतर मदद मिल सकती है।