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

Java 在现有字符串的开头连接新字符串,java,string-concatenation,Java,String Concatenation,我想将新字符串连接到现有字符串的开头,例如, 当前字符串=“并且我希望始终将新字符串连接到旧字符串的开头: String msg="Java One",temp; for(int i=msg.length()-2;i>0;i--){ 在这里,我创建了一个循环,从msg的末尾开始,在结束后temp应该包含“javaone”,但顺序是这样的 e ne one a one va one } 依此类推您可以在每次迭代中获得不同的子字符串 for(int i=msg.lengt

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

  String msg="Java One",temp;
 for(int i=msg.length()-2;i>0;i--){
在这里,我创建了一个循环,从msg的末尾开始,在结束后temp应该包含“javaone”,但顺序是这样的

 e
 ne
 one
 a one
 va one 
}
依此类推

您可以在每次迭代中获得不同的子字符串

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
,作为原始问题)进行迭代的

我希望总是将新字符串连接到旧字符串的开头

这很简单,但不是很有效:

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