本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看 活动链接
Debug 笔记 <反转Java中的字符串>
提问
我的"Hello World
"保存在一个名为的String
变量中。
我需要打印,但是要反转。
我怎样才能做到这一点?我知道Java
中已经内置了某种功能。
相关:用Java反转“ Hello World”字符串的每个单词
回答一
您可以使用此:
new StringBuilder(hi).reverse().toString()
或者,对于JDK 1.5
之前的版本,请使用java.util.StringBuffer
代替StringBuilder
-
它们具有相同的API
。感谢评论员指出,StringBuilder
如今在没有并发问题的情况下,这是首选方法。
回答二
您可以使用以下方法解决:
StringBuilderStringBufferchar[]
public static String reverse(String input){
char[] in = input.toCharArray();
int begin=0;
int end=in.length-1;
char temp;
while(end>begin){
temp = in[begin];
in[begin]=in[end];
in[end] = temp;
end--;
begin++;
}
return new String(in);
}
回答三
public static String reverseIt(String source) {
int i, len = source.length();
StringBuilder dest = new StringBuilder(len);
for (i = (len - 1); i >= 0; i--){
dest.append(source.charAt(i));
}
return dest.toString();
}
回答四
String string="whatever";
String reverse = new StringBuffer(string).reverse().toString();
System.out.println(reverse);
回答五
我通过使用以下两种方式来做到这一点:
通过CHARACTERS反向字符串:
public static void main(String[] args) {
// Using traditional approach
String result="";
for(int i=string.length()-1; i>=0; i--) {
result = result + string.charAt(i);
}
System.out.println(result);
// Using StringBuffer class
StringBuffer buffer = new StringBuffer(string);
System.out.println(buffer.reverse());
}
用WORDS反向字符串:
public static void reverseStringByWords(String string) {
StringBuilder stringBuilder = new StringBuilder();
String[] words = string.split(" ");
for (int j = words.length-1; j >= 0; j--) {
stringBuilder.append(words[j]).append(' ');
}
System.out.println("Reverse words: " + stringBuilder);
}
文章翻译自Stack Overflow
:stackoverflow.com/questions/7…