java:使用StringBuilder在开头插入


Answers

你可以使用strbuilder.insert(0,i);

Question

我只能用String来做这件事,例如:

String str="";
for(int i=0;i<100;i++){
    str=i+str;
}

有没有一种方法来实现这个与StringBuilder? 谢谢。




作为一种替代解决方案,您可以使用LIFO结构(比如堆栈)来存储所有的字符串,当您完成时只需把它们全部放到StringBuilder中。 这自然会颠倒放置在其中的项目(字符串)的顺序。

Stack<String> textStack = new Stack<String>();
// push the strings to the stack
while(!isReadingTextDone()) {
    String text = readText();
    textStack.push(text);
}
// pop the strings and add to the text builder
String builder = new StringBuilder(); 
while (!textStack.empty()) {
      builder.append(textStack.pop());
}
// get the final string
String finalText =  builder.toString();