में साइड-इफेक्ट फ्री विधियां मैं जावा प्रोग्राम के विश्लेषण पर काम कर रहा हूं जिसके लिए विधि कॉल के बारे में साइड-इफेक्ट जानकारी की आवश्यकता है। मानक लाइब्रेरी कक्षाओं के लिए, मैं केवल-पढ़ने वाले पैरामीटर के साथ विधियों की एक सूची संकलित करना चाहता हूं। यही वह तरीका है जो उनके तर्कों को संशोधित नहीं करता है, या उनके तर्कों से पहुंचने योग्य कुछ भी नहीं। मैं javadocs से बहुत कुछ अनुमान लगा सकता हूं, लेकिन इसमें समय लगेगा।जावा मानक लाइब्रेरी
कोई भी यह निर्धारित करने के लिए एक आसान संदर्भ या विधि सुझा सकता है कि मानक विधि कॉल उनके तर्कों को संशोधित करता है या नहीं? प्रत्येक javadoc प्रविष्टि के माध्यम से वास्तव में सबसे अच्छा तरीका पढ़ रहा है?
धन्यवाद!
संपादित करें: एक बोनस उन विधियों की पहचान करेगा जो ऑब्जेक्ट पर कोई दुष्प्रभाव नहीं रखते हैं। उदाहरण के लिए, stack.pop() होगा जबकि stack.size() नहीं होगा।
मुझे आपका समाधान देखने में दिलचस्पी होगी। आप किसी भी तरीके को मान सकते हैं जो अपरिवर्तनीय प्रकार लेते हैं, दुष्प्रभाव मुक्त है। सुनिश्चित नहीं है कि आप javadocs और कोड के अलावा और क्या कर सकते हैं। –
@ एसबी: बस ध्यान रखें कि 'स्ट्रिंग' अपरिवर्तनीय है, लेकिन 'CharSequence' लागू करने वाली कक्षाएं हो सकती हैं या नहीं भी हो सकती हैं। – Powerlord