Java如何逐字反转字符串?
您可能已经看到了如何使用StringBuffer、ApacheCommonsLang库中的StringUtils或CharacterIterator反转字符串。
在此示例中,您将看到可用于逐字反转字符串的另一种方法。在这里,我们使用StringTokenizer和Stack类。
package org.nhooo.example.util;
import java.util.Stack;
import java.util.StringTokenizer;
public class ReverseStringByWord {
public static void main(String[] args) {
// 我们将反转的字符串
String text = "Jackdaws love my big sphinx of quartz";
//我们使用StringTokenize来获取字符串的每个单词。你可以试试
// 如果需要,使用String.split()方法。
StringTokenizer st = new StringTokenizer(text, " ");
// 为了扭转它,我们可以使用实现LIFO的Stack类
// (后进先出)。
Stack<String> stack = new Stack<>();
while (st.hasMoreTokens()) {
stack.push(st.nextToken());
}
// 以相反的顺序打印每个单词
while (!stack.isEmpty()) {
System.out.print(stack.pop() + " ");
}
}
}