📅  最后修改于: 2023-12-03 14:50:32.808000             🧑  作者: Mango
在 Java 中,我们有多种方法可以反向字符串。本文将介绍其中的几种方法,包括使用 StringBuilder 和 CharArray,以及使用 Java 8 的 StringJoiner 和 Stream API。
我们可以使用 StringBuilder 类中的 reverse()
方法来反向字符串。以下是示例代码:
String str = "Hello World";
StringBuilder sb = new StringBuilder(str);
String reversedStr = sb.reverse().toString();
System.out.println(reversedStr); //输出dlroW olleH
这里我们首先将原始字符串传入 StringBuilder 构造函数中,然后调用 reverse()
方法,最后调用 toString()
方法将 StringBuilder 对象转换为字符串类型。
我们也可以将字符串转换为字符数组,然后使用双指针的方式对字符数组进行操作。以下是示例代码:
String str = "Hello World";
char[] charArray = str.toCharArray();
int i = 0;
int j = charArray.length - 1;
while(i<j){
char temp = charArray[i];
charArray[i] = charArray[j];
charArray[j] = temp;
i++;
j--;
}
String reversedStr = new String(charArray);
System.out.println(reversedStr); //输出dlroW olleH
这里我们首先将原始字符串转换为字符数组,然后使用双指针方法对数组进行操作,最后将字符数组转换为字符串类型。
Java 8 新增加了 StringJoiner 类,我们可以使用该类来拼接字符串。以下是示例代码:
String str = "Hello World";
StringJoiner sj = new StringJoiner("");
for(int i=str.length()-1;i>=0;i--){
sj.add(String.valueOf(str.charAt(i)));
}
String reversedStr = sj.toString();
System.out.println(reversedStr); //输出dlroW olleH
这里我们首先初始化一个 StringJoiner 对象,然后使用 add()
方法向对象中添加字符串,最后将 StringJoiner 对象转换为字符串类型。
Java 8 还新增加了 Stream API,我们可以使用该 API 来操作字符串。以下是示例代码:
String str = "Hello World";
String reversedStr = Arrays.stream(str.split(""))
.reduce("", (s, c) -> c + s);
System.out.println(reversedStr); //输出dlroW olleH
这里我们将原始字符串按字符分隔成为一个字符串数组,然后使用 reduce()
方法结合 Stream API 对数组中的字符进行操作,最后将操作结果转换为字符串类型。
以上就是在 Java 中反向字符串的几种方法,每种方法都有不同的优劣点。需要根据实际场景选择合适的方法。