java中反转字符串
时间: 2024-10-24 22:09:10 浏览: 48
在 Java 中反转字符串通常可以使用两种方法:
1. 使用 StringBuilder 或 StringBuffer 的 reverse() 方法:这两个类提供了一个方便的方法来反转字符串。例如:
```java
public String reverseString(String str) {
return new StringBuilder(str).reverse().toString();
}
```
如果你需要线程安全的操作,应该使用 StringBuffer。
2. 利用字符数组遍历:创建一个新的字符数组,然后从原始字符串的两端开始交换字符。
```java
public String reverseString(String str) {
char[] chars = str.toCharArray();
int start = 0;
int end = chars.length - 1;
while (start < end) {
char temp = chars[start];
chars[start] = chars[end];
chars[end] = temp;
start++;
end--;
}
return new String(chars);
}
```
这两种方法都会返回一个新的字符串,原字符串不会被改变。
相关问题
java中反转字符串操作
在Java中,可以使用StringBuilder或StringBuffer类的reverse()方法来反转字符串。也可以使用字符数组来反转字符串,具体实现如下:
方法1:使用StringBuilder或StringBuffer
```java
String str = "Hello world!";
StringBuilder sb = new StringBuilder(str);
sb = sb.reverse();
System.out.println(sb.toString()); // 输出:!dlrow olleH
// 或者使用 StringBuffer
StringBuffer sb = new StringBuffer(str);
sb = sb.reverse();
System.out.println(sb.toString()); // 输出:!dlrow olleH
```
方法2:使用字符数组
```java
String str = "Hello world!";
char[] arr = str.toCharArray();
int len = arr.length;
for (int i = 0; i < len / 2; i++) {
char temp = arr[i];
arr[i] = arr[len - 1 - i];
arr[len - 1 - i] = temp;
}
System.out.println(new String(arr)); // 输出:!dlrow olleH
```
Java如何反转字符串
在Java中反转字符串有多种方法,下面介绍几种常见的做法:
### 方法一:使用 StringBuilder 或 StringBuffer 类
这两个类都提供了 reverse() 函数可以直接翻转字符串内容。其中,`StringBuilder` 是非线程安全的,而 `StringBuffer` 则是线程安全的,因此性能上前者更快。
```java
public class Main {
public static void main(String[] args) {
String original = "你好世界";
// 使用 StringBuilder 反转字符串
String reversedByBuilder = new StringBuilder(original).reverse().toString();
System.out.println("通过 StringBuilder 反转:" + reversedByBuilder);
// 使用 StringBuffer 反转字符串 (较少用)
String reversedByBuffer = new StringBuffer(original).reverse().toString();
System.out.println("通过 StringBuffer 反转:" + reversedByBuffer);
}
}
```
### 方法二:手动实现字符交换法
如果不希望借助内置函数,则可以编写简单的循环来完成这一任务。
```java
public class Main {
public static String reverseString(String str){
char [] chars = str.toCharArray(); // 转换为字符数组
int n = chars.length;
for(int i=0;i<n/2;i++){
char temp = chars[i];
chars[i] = chars[n-i-1]; // 对称位置互换值
chars[n-i-1]=temp;
}
return new String(chars); // 再次转换回字符串形式返回结果即可.
}
public static void main(String[]args){
String input="hello world!";
String output=reverseString(input);
System.out.println(output);
}
}
```
以上代码段展示了如何将输入的文字从右向左重新排列生成一个新的倒序版文字串输出显示出来效果!
阅读全文
相关推荐















