我有一个字符串。
String word = "Football";
我需要将字符串的第一个字符放在字符串的末尾。这是我的解决方法。
public class charToString{
public static void main(String[] args){
String testString = "Football";
char[] stringToCharArray = testString.toCharArray();
for(int i=0;i<(stringToCharArray.length-1);i++){
char temp = stringToCharArray[i];
stringToCharArray[i]= stringToCharArray[i+1];
stringToCharArray[i+1] = temp;
}//end of for
String resulT = new String(stringToCharArray); //result with desired output
System.out.println(resulT);
}// end of main
}
这是完成任务的有效方法吗?还是可以建议我一种更有效的方法?
答案 0 :(得分:3)
您可以使用子字符串解决方案,但这是使用正则表达式的替代解决方案:
String word = "Football";
String result = word.replaceAll("^(.)(.*)$", "$2$1");
System.out.println(result);
答案 1 :(得分:2)
您可以使用子字符串:
testString.substring(1) + testString.substring(0, 1)
答案 2 :(得分:1)
为什么不只是
word = word.substring(1, word.length()) + word.charAt(0);
编辑:
或者只使用substring
而不用长度。
word = word.substring(1) + word.charAt(0);
答案 3 :(得分:1)
比子字符串和串联更有效的解决方案是使用StringBuilder
:
String result =
new StringBuilder(word.length())
.append(word, 1, word.length())
.append(word, 0, 1) // or .append(word.charAt(0))
.toString();
这只是避免从word
创建子字符串。