您可能已经看到了如何使用 StringBuffer、 Apache Commons Lang 库中的 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() + " "); } } }