📜  Java程序交换字符中的字符(1)

📅  最后修改于: 2023-12-03 15:02:05.783000             🧑  作者: Mango

Java程序交换字符中的字符

在Java中,我们可以使用多种方法交换字符串中的字符。本文将介绍其中的三种方法。

方法一:使用StringBuffer
String str = "Hello world!";
int index1 = 1;
int index2 = 9;

StringBuffer sb = new StringBuffer(str);
char temp = sb.charAt(index1);
sb.setCharAt(index1, sb.charAt(index2));
sb.setCharAt(index2, temp);

String newStr = sb.toString();
System.out.println(newStr);

解释:

使用StringBuffer类,首先需要创建一个StringBuffer对象,并将原字符串传给它的构造函数。然后我们可以使用setCharAt()方法来直接替换字符。最后,我们将StringBuffer对象转换为字符串并输出。

方法二:使用StringBuilder
String str = "Hello world!";
int index1 = 1;
int index2 = 9;

StringBuilder sb = new StringBuilder(str);
char temp = sb.charAt(index1);
sb.setCharAt(index1, sb.charAt(index2));
sb.setCharAt(index2, temp);

String newStr = sb.toString();
System.out.println(newStr);

解释:

使用StringBuilder类与使用StringBuffer类类似。StringBuilder与StringBuffer唯一的差别是它不是线程安全的,因此在性能要求比较高的情况下,使用StringBuilder比使用StringBuffer更合适。

方法三:使用字符数组
String str = "Hello world!";
int index1 = 1;
int index2 = 9;

char[] charArray = str.toCharArray();
char temp = charArray[index1];
charArray[index1] = charArray[index2];
charArray[index2] = temp;

String newStr = new String(charArray);
System.out.println(newStr);

解释:

使用字符数组需要将字符串先转换为字符数组。然后我们可以直接访问和修改字符数组中的元素。最后,我们将修改后的字符数组转换回字符串。

以上就是Java程序中交换字符中的字符的三种方法。使用StringBuffer和StringBuilder比使用字符数组更加简单和直接,如果不需要多线程支持,建议使用StringBuilder。