प्रैक्टिस में, टूस्ट्रिंग विधि को ऑब्जेक्ट का स्ट्रिंग प्रस्तुति वापस करनी चाहिए।जब हम toString() विधि को ओवरराइड करते हैं तो हमें हमेशा ऑब्जेक्ट का स्ट्रिंग प्रस्तुति वापस करनी चाहिए?
एक प्रोजेक्ट में, मुझे कुछ कक्षाएं मिलीं जो टर्निंग विधि को ओवरराइड करती हैं जो रिटर्न नल की अनुमति देती है।
तरह:
@Override
public String toString() {
.......
return null;
}
मेरे लिए, यह अभ्यास प्राचार्य से उल्लंघन toString विधि उस वस्तु की एक स्ट्रिंग प्रतिनिधित्व लौटना चाहिए का प्रस्ताव है।
Object.toString के लिए API दस्तावेज़() का कहना है:
सार्वजनिक स्ट्रिंग toString()
रिटर्न वस्तु के एक स्ट्रिंग प्रतिनिधित्व। आम तौर पर, टूस्ट्रिंग विधि एक स्ट्रिंग देता है जो इस ऑब्जेक्ट को "पाठ रूप से दर्शाती है"। नतीजा एक संक्षिप्त लेकिन सूचनात्मक प्रतिनिधित्व होना चाहिए जो किसी व्यक्ति को पढ़ने के लिए आसान है। यह अनुशंसा की जाती है कि सभी सबक्लास इस विधि को ओवरराइड करें।
जब हम ऑब्जेक्ट की ToString() विधि को ओवरराइड करते हैं, तो आपको कभी वापस शून्य नहीं करना चाहिए?
मैं स्वीकार करूंगा कि मैं उत्सुक हूं, '.......' के पीछे क्या छिपा रहा है? –
वास्तव में, मुझे नहीं पता, मैं देखता हूं कि एक तुलनात्मक वस्तु में जो o1.toString() == शून्य से पूछता है, जब मैं देखता हूं कि मैं खुद से कहता हूं कि यह सामान्य नहीं है, यह एक अच्छा अभ्यास नहीं है। –