在现有字符串的开头连接新字符串

时间:2012-12-20 11:36:09

标签: java string-concatenation

我想将新字符串连接到现有字符串的开头,例如, 当前string =“”我希望始终将新字符串连接到我的旧字符串的开头:

  String msg="Java One",temp;
 for(int i=msg.length()-2;i>0;i--){

这里我从msg结束后开始循环结束temp应该包含“Java One”但按此顺序

 e
 ne
 one
 a one
 va one 
}

等等

2 个答案:

答案 0 :(得分:0)

您可以使用String#substring(int,int)在每次迭代中获得不同的子字符串。

for(int i=msg.length()-1;i>=0;i--){
    System.out.println(msg.substring(i,msg.length()));
}

当然,您可以存储每个生成的子字符串,并使用它执行您想要的操作。

请注意,此方法可能更有效,因为虽然将创建新的String对象,但它们可能会为所有对象使用相同的基础char[]对象。


另请注意,我们正在从msg.length()-1(而不是-2,作为问题中的原始代码)和i >= 0(而非i > 0进行迭代,与原始问题一样)

答案 1 :(得分:0)

  

我希望始终将新字符串连接到我的旧字符串

的开头

这很简单,但效率不高:

String oldString = "";
for (...) {
    // Prepare your new string
    String newString = ... ;
    // Add the new string at the beginning of the old string
    oldString = newString + oldString;
}
相关问题