📅  最后修改于: 2023-12-03 15:02:05.783000             🧑  作者: Mango
在Java中,我们可以使用多种方法交换字符串中的字符。本文将介绍其中的三种方法。
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对象转换为字符串并输出。
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。