हमें लॉग आउटपुट आदि के लिए हर समय स्ट्रिंग्स का निर्माण करना होगा। JDK संस्करणों पर हमने सीखा है कि कब StringBuffer
(कई एपेंड, थ्रेड सेफ) और StringBuilder
(कई एपेंड, नॉन थ्रेड-सेफ) का उपयोग करना है।
उपयोग करने की सलाह क्या है String.format()
? क्या यह कुशल है, या क्या हमें वन-लाइनर्स के लिए सहमति के साथ रहने के लिए मजबूर होना चाहिए जहां प्रदर्शन महत्वपूर्ण है?
उदाहरण के लिए बदसूरत पुरानी शैली,
String s = "What do you get if you multiply " + varSix + " by " + varNine + "?";
बनाम नई शैली (String.format, जो संभवतः धीमी है),
String s = String.format("What do you get if you multiply %d by %d?", varSix, varNine);
नोट: मेरा विशिष्ट उपयोग मामला मेरे पूरे कोड में सैकड़ों 'वन-लाइनर' लॉग स्ट्रिंग्स का है। वे एक लूप शामिल नहीं करते हैं, इसलिए StringBuilder
बहुत भारी है। मुझे String.format()
विशेष रूप से दिलचस्पी है ।