java - Accessing an Object's attribute value using an expression -


निम्न कोड पर विचार करें:

  कक्षा डेमो {व्यक्ति व्यक्ति = नया व्यक्ति ("foo "); // मान लो व्यक्ति वर्ग के पास एक 'नाम' फ़ील्ड है // अब, मैं किसी फ़ील्ड का मान कैसे प्राप्त करूं, कुछ एक्सप्रेशन का उपयोग कर स्ट्रिंग अभिव्यक्ति = "person.name"; }  

अब, मैं 'नाम' विशेषता का मान पाने के लिए 'अभिव्यक्ति' का मूल्यांकन करना चाहता हूं। क्या कोई यह बता सकता है कि यह कैसे किया जा सकता है?

- अपडेट किया गया: 'अभिव्यक्ति' स्ट्रिंग मैं इसे XML फ़ाइल से प्राप्त कर रहा हूं तो, क्या उस परिदृश्य में भी 'प्रतिबिंब' का उपयोग करना संभव है? 'अभिव्यक्ति' स्ट्रिंग गहरे स्तर पर भी जा सकती है, जैसे 'person.birthday.date'।

ऐसा करने के लिए जावा में कोई मूल तरीका नहीं है कई अन्य विकल्प मौजूद हैं।

एक दृष्टिकोण का उपयोग करना है। यह ऑब्जेक्ट क्वेरी करने के लिए XPath- शैली सिंटैक्स का उपयोग करता है। यह आपके उद्देश्यों के लिए थोड़ा अधिक उंचा है, लेकिन निस्संदेह शक्तिशाली है।

उदाहरण के लिए जेएक्सपाथ होम पेज से:

  पता पता = (पता) JXPathContext.newContext (वेंडर)। getValue ( "स्थान [पता / ज़िपकोड = '90210'] / पता");  

जो 90210 के ज़िप कोड को दिए गए पते के लिए दिया विक्रेता वस्तु पूछता है। इसलिए आप ऑब्जेक्ट पदानुक्रम को नेविगेट कर सकते हैं और 'SELECT .. WHERE' प्रकार के प्रश्नों को करने के लिए पूर्वानुमान प्रदान कर सकते हैं।

अधिक उदाहरणों के लिए java.net आलेख भी देखें (मैंने जो कुछ लिखा है उसका बेशर्म प्लग)।


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -