मैं जावा में StringBuffer उपयोग कर रहा हूँ, एक साथ तार concat इसलिए की तरह करने के लिए:जावा: StringBuffer और कड़ी
StringBuffer str = new StringBuffer();
str.append("string value");
मैं अगर वहाँ एक तरीका है (हालांकि मैं एक त्वरित से कुछ भी नहीं मिला जानना चाहते हैं प्रलेखन पर नज़र) या "पैडिंग" जोड़ने के लिए कुछ और तरीका।
मुझे समझाएं; हर बार जब मैं स्ट्रिंग के लिए कुछ संलग्न, मैं अंत में एक अंतरिक्ष जोड़ने के लिए है, इसलिए की तरह हैं:
String foo = "string value";
str.append(foo + " ");
और मैं संलग्न करने के लिए कई कॉल .. और हर बार, मैं एक अंतरिक्ष जोड़ना चाहते हैं। क्या वस्तु को सेट करने का कोई तरीका है ताकि प्रत्येक संलग्न होने के बाद यह स्वचालित रूप से एक स्थान जोड़ सके?
संपादित करें -
String input
StringBuffer query = new StringBuffer();
Scanner scanner = new Scanner(System.in);
scanner.UseDelimiter("\n");
do {
System.out.println("sql> ");
input = scanner.next();
if (!empty(input)) query.append(input);
if (query.toString().trim().endsWith(";")) {
//run query
}
}
while (!input.equalsIgnoreCase("exit");
हालांकि के रूप में grom सुझाव दिया मैं StringBuilder का उपयोग करेंगे, लेकिन यह कैसे कोड अभी लग रहा है
क्या आप हमें अपना कुछ वास्तविक कोड दिखा सकते हैं जहां आप आइटम जोड़ रहे हैं? क्योंकि शायद स्ट्रिंग बनाने का एक और तरीका है जो अधिक समझ में आता है। – grom
हम्म, मैं मूल रूप से एक डू-लूप लूप करता हूं जो एक स्ट्रिंग में इनपुट जोड़ता है और लूप मौजूद होता है जब इनपुट ";" –
यह निर्धारित करने के लिए कि क्या क्वेरी चलाने या नहीं, यह निर्धारित करने के लिए नियमित अभिव्यक्ति का उपयोग करने के लिए शायद यह अधिक सुरुचिपूर्ण (और तेज) है, उदाहरण के लिए: यदि (query.matches ("। *; \ S *")) { –