使用数组在 Java 中反转字符串

2025年3月21日 | 阅读 4 分钟

Java 中的字符串是字符的序列,可以使用数组对其进行反转。反转字符串是指将字符串的字符按相反的顺序重新排列。本文将探讨使用数组在 Java 中反转文本的各种方法。

方法 1:利用字符数组

要反转字符串,最简单的方法是将其转换为字符数组,然后交换数组两端的字符。在 Java 中,您可以这样做:

ReverseString1.java

输出

The original String is Hello World!
 Reversed String is !dlroW olleH

解释

toCharArray() 方法将输入字符串转换为字符数组。

声明两个变量 left 和 right,分别用于跟踪数组的开头和最后一个字符。

使用 while 循环遍历数组,交换两端的字符,直到 left 指针大于或等于 right 指针为止。

使用 String(char[] value) 构造函数从转换后的字符数组创建新字符串,从而返回反转后的字符串。

方法 2:利用 StringBuilder

StringBuilder 类是反转 Java 字符串的另一种方法。方法如下:

ReverseString2.java

输出

The original String is Hello World!
 Reversed String is !dlroW olleH

解释

创建一个新的 StringBuilder 实例,并将其输入字符串传递给其构造函数。

使用 reverse() 函数反转 StringBuilder 对象的内容。

使用 toString() 方法将 StringBuilder 对象转换回字符串。

方法 4:使用 for 循环

也可以使用简单的 for 循环来反转字符串。方法如下:

ReverseString.java

输出

The original String is Hello World!
 Reversed String is !dlroW olleH

解释

toCharArray() 方法将输入字符串转换为字符数组。

声明一个与原始字符串长度相同的 new reversedArray。

使用 for 循环遍历数组,将原始数组中的字符以相反的顺序复制到 reversedArray 中。

使用 String(char[] value) 构造函数从反转后的字符数组创建新字符串,从而返回反转后的字符串。

方法 5 - 递归

也可以使用递归来反转字符串。方法如下:

ReverseString.java

输出

The original String is Hello World!
 Reversed String is !dlroW olleH

解释

确定提供的字符串是否为空。如果为空,则返回空字符串。

使用递归调用 reverseString() 方法,传入输入字符串中从第二个字符开始的子字符串。

将输入字符串的第一个字符附加到反转后的子字符串的末尾。

返回反转后的字符串。

结论

在本文中,我们介绍了使用数组在 Java 中反转文本的各种方法。使用的方法包括字符数组、StringBuilder、StringBuffer、for 循环和递归。您可以根据自己的需求和偏好使用这些方法中的任何一种。但是,第一种方法(使用字符数组)是 Java 中反转字符串最高效且推荐的方法。