2012-11-27 11 views
5

मैं सोच रहा हूँ क्यों ग्रहण निम्नलिखित गेटर और सेटर पैदा करता है अगर मैं निम्नलिखित बूलियन प्रयोग किया है:बूलियन मनुष्य और सेटर का उपयोग कर ग्रहण

boolean isLifeTimeMember 

Image

गेटर isIsLifeTimeMember() और नहीं isLifeTimeMember (होना चाहिए)

मुझे लगता है कि यह जेएसपी में वैरिएबल isLifeTimeMember को कॉल करने पर प्रभावित है। क्योंकि यह जेएसपी को देखेगा और इसे ISLifeTimeMember() गेटर विधि पर मैप करेगा। क्योंकि वहाँ कोई isIsLifeTimeMember() विधि लेकिन ग्रहण द्वारा उत्पन्न गेटर isLifeTimeMember है

त्रुटि परिणाम होगा()

धन्यवाद।

+0

आप एक JSP से यह कॉल कर रहे हैं, गेटर होना चाहिए 'getIsLifeTimeMember से बच सकते हैं() '। जेएसपी में माना जाता है। – Makoto

+0

कृपया छवि अपलोड न करें। बस कोड को पेस्ट करें जैसा कि यह है। –

+0

मुझे लगता है कि आपका मतलब है कि कोड 'बूलियन isLifeTimeMember;' है और 'बूलियन isLifeTimeMember() 'नहीं है। ग्रहण विधियों के लिए गेटर्स और सेटर्स उत्पन्न नहीं करता है! –

उत्तर

14

ग्रहण नाम जनरेशन नियम यह है कि बूलियन गेटर्स is के साथ शुरू होना चाहिए। यदि परिवर्तनीय नाम पहले से ही is से शुरू होता है, तो ऐसा लगता है कि कोई अतिरिक्त उपसर्ग आवश्यक नहीं है।

ग्रहण में एक सेटिंग है जो उत्पन्न बूलियन गेटर्स के लिए is के उपयोग को नियंत्रित करती है। प्राथमिकताएं खोलें और Java > Code Style पर नेविगेट करें। वहां आप "उपयोग" विकल्प को अनचेक कर सकते हैं 'बूलियन लौटने वाले गेटर्स के लिए उपसर्ग'। ग्रहण से उत्पन्न बुलियन गेटर्स तब सभी "दूसरों" की तरह "प्राप्त" के साथ शुरू करेंगे।

जावा में कोई समस्या नहीं है, वैसे ही, एक क्षेत्र और एक ही नाम के साथ एक विधि है।

हालांकि, "है" से शुरू होने वाले संपत्ति नाम होने से शायद jsp के साथ समस्याएं पैदा होंगी। जैसा कि this thread में वर्णित है, प्रश्नों (isLifeTimeMember) जैसे पढ़ने वाले संपत्ति नामों से बचना बेहतर है और इसके बजाय केवल संपत्ति का नाम संपत्ति नाम (लाइफटाइमम्बर) के रूप में उपयोग करें।

+0

यह मेरे जेएसपी को प्रभावित करेगा जब मैं newbie

+0

कहता हूं क्योंकि मुझे लगता है कि यह आईएस लाइफटाइम मेम्बर गेटटर विधि को देखेगा ??? – newbie

+0

@newbie - यह शायद समस्याएं पैदा करेगा। जैसा कि [इस धागे] में वर्णित है (http://stackoverflow.com/questions/2945061/java-how-to-name-boolean-properties), जेएसपी संपत्ति नामों से बचने के लिए बेहतर है जो प्रश्नों ('isLifeTimeMember') जैसे पढ़ते हैं और इसके बजाय बस संपत्ति का नाम संपत्ति नाम ('लाइफटाइमम्बर ') के रूप में उपयोग करें। –

2

बूलियन वैरिएबल के मामले में, ग्रहण is को गेटर नाम बनाने के लिए परिवर्तनीय नाम पर प्रीपेड करता है। अर्थात। यदि चर boolean present; है तो gemerated गेटर का नाम isPresent();

परिवर्तनीय नाम में is होने की सलाह नहीं दी जाती है।

चर नाम ispresent है, तो आप चर नाम ispresent जो बारी में अपने गेटर के लिए लग रहा है से देखने जाएगा jsp पर, इसकी एक बूलियन तो यह मान लिया गया है गेटर isispresemt(); होगा जो ग्रहण में गेटर सेटर जनरेटर के रूप में वहाँ नहीं था is में कोई भी संदर्भ नहीं है जो पहले से ही परिवर्तनीय नाम में मौजूद है।

इस प्रकार एक अपवाद could not find the field ispresent

फ़ील्ड नाम में एक is होने फेंका होने की उम्मीद है, समस्याओं के कारण, उन्हें प्रयोग

संबंधित मुद्दे