# Java 中的反向字符串 - 单词反向字符串

> 原文： [https://howtodoinjava.com/puzzles/how-to-reverse-string-in-java/](https://howtodoinjava.com/puzzles/how-to-reverse-string-in-java/)

学习编写 **Java 程序以反转字符串**。 我们将首先看到**如何反转字符串**，我们还将看到**如何反转字符串**。

在 [Java 面试](https://howtodoinjava.com/java-interview-questions/)中，这是初学者常见的难题。 让我们记住这些解决方案以便快速调用。

## 1\. Java 程序反转字符串

您可以使用`StringBuilder.reverse()`方法轻松地*逐字符反转*字符串。

```java
String blogName = "HowToDoInJava.com";

String reverse = new StringBuilder(string).reverse();

System.out.println("Original String -> " + blogName);
System.out.println("Reverse String -> " + reverse);

Output:
Original String -> HowToDoInJava.com
Reverse String -> moc.avaJnIoDoTwoH

```

## Java 程序通过单词反转字符串

当**通过单词**反转字符串内容时，最自然的方法是使用`StringTokenizer`和`Stack`。 如您所知，`Stack`是一个实现易于使用的**后进先出（LIFO）**对象堆栈的类。

```java
]
String description = "Java technology blog for smart java concepts and coding practices";

// reverse string builder
StringBuilder reverseString = new StringBuilder();

// Put words from String in Stack
Stack<String> myStack = new Stack<>();

StringTokenizer tokenizer = new StringTokenizer(description, " ");

while (tokenizer.hasMoreTokens()) {
	myStack.push(tokenizer.nextToken());
}

//Pop each word from stack and append in builder

while (!myStack.empty()) {
	reverseString.append(myStack.pop() + " ");
}

System.out.println(reverseString.toString());

Output:

practices coding and concepts java smart for blog technology Java 

```

学习愉快！

参考：

[StringBuilder.reverse()Java 文档](https://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html#reverse--)
[StringTokenizer](https://docs.oracle.com/javase/8/docs/api/java/util/StringTokenizer.html)