2012-03-10 11 views
56

ठीक है, तो हम सभी को पता होना चाहिए करने से है कि आप स्ट्रिंग में चर शामिल कर सकते हैं:जावा - तारों के भीतर चर शामिल हैं?

String string = "A string " + aVariable; 

वहाँ इसे पसंद करने के लिए एक रास्ता है: होने के बिना:

String string = "A string {aVariable}"; 

दूसरे शब्दों में उद्धरण चिह्नों को बंद करने और प्लस संकेत जोड़ने के लिए। यह बहुत अवांछित है।

+0

आपको इस प्रकार के स्ट्रिंग मैनिपुलेशन की आवश्यकता क्यों है? –

+4

@ चंद्रा कृपया क्यों न पूछें, बल्कि यदि संभव हो तो समझाएं। यह वही है कि मैं इसे कैसे करना पसंद करूंगा। धन्यवाद। –

+2

ग्रोवी का प्रयोग करें, फिर आप जो चाहें "एक स्ट्रिंग $ {aVariable}" करने में सक्षम होंगे। –

उत्तर

68

आप हमेशा स्ट्रिंग.फॉर्मैट (....) का उपयोग कर सकते हैं। जैसे कि,

String string = String.format("A String %s %2d", aStringVar, anIntVar); 

मुझे यकीन है कि अगर आप के लिए पर्याप्त आकर्षक है नहीं कर रहा हूँ, लेकिन यह काफी आसान हो सकता है। वाक्यविन्यास printf और java.util.Formatter के समान है। मैंने इसका उपयोग बहुत अधिक किया है, खासकर यदि मैं सारणीबद्ध संख्यात्मक डेटा दिखाना चाहता हूं।

+0

दिलचस्प। यह बस इसके बारे में दिखता है। –

+0

मैं इसे 10 मिनट के बाद जवाब के रूप में चिह्नित करूंगा। –

+1

मुझे पता है कि यह राय का विषय है, लेकिन मुझे नहीं लगता कि 'स्ट्रिंग' एक सरल स्ट्रिंग कॉन्सटेनेशन अभिव्यक्ति से अधिक आकर्षक कैसे है।जहां 'प्रारूप' स्वयं में आता है, जब आपको पैडिंग, संख्या स्वरूपण, इत्यादि करने की आवश्यकता होती है। –

38

इसे स्ट्रिंग इंटरपोलेशन कहा जाता है; यह जावा में मौजूद नहीं है।

एक दृष्टिकोण String.Format उपयोग करने के लिए है:

String string = String.format("A string %s", aVariable); 

एक और दृष्टिकोण है Velocity के रूप में एक templating पुस्तकालय का प्रयोग है।

+1

महान दिमाग एक जैसे सोचते हैं! 1+ –

14

java.text.MessageFormat पर भी विचार करें, जो संख्यात्मक तर्क अनुक्रमणिका वाले संबंधित वाक्यविन्यास का उपयोग करता है। उदाहरण के लिए, string में

String aVariable = "of ponies"; 
String string = MessageFormat.format("A string {0}.", aVariable); 

परिणाम निम्न युक्त

A string of ponies. 

अधिक सामान्यतः, वर्ग अपनी संख्यात्मक और लौकिक प्रारूपण के लिए प्रयोग किया जाता है। JFreeChart लेबल स्वरूपण का एक उदाहरण here का वर्णन किया गया है; कक्षा RCInfo एक गेम की स्थिति फलक स्वरूपित करता है।

+1

सीएसएचआरपी से आने वाले किसी के लिए इस तरह से अधिक सरल है क्योंकि यह स्ट्रिंग के समान है। सी # में फोर्मेट। – Mojtaba

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