डेटाबेस के साथ अपने काम के दौरान मैंने देखा कि मैं क्वेरी स्ट्रिंग लिखता हूं और इस तार में मुझे एक सूची / सरणी / संग्रह से जहां-जहां खंड में कई प्रतिबंध लगाने हैं। इस तरह दिखना चाहिए:
select * from customer
where customer.id in (34, 26, ..., 2);
आप इसे इस प्रश्न को कम करके सरल बना सकते हैं कि आपके पास स्ट्रिंग्स का संग्रह है और केवल एक स्ट्रिंग में इस स्ट्रिंग्स की अल्पविराम से अलग सूची बनाना चाहते हैं।
मेरा दृष्टिकोण जो मैंने अब तक इस्तेमाल किया है वह कुछ इस तरह है:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
लेकिन यह ऐसा है जैसे आप बहुत बदसूरत देख सकते हैं। आप देख नहीं सकते हैं कि पहली नज़र में क्या होता है, खासकर जब निर्माण किए गए तार (प्रत्येक SQL क्वेरी की तरह) जटिल हो रहे हों।
आपका (अधिक) सुरुचिपूर्ण तरीका क्या है?