Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

时间:2022-02-18 12:36:03

1.最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了:

 package himi.hebao05;

 public class TestDemo02 {
public static void main(String[] args) {
int i = 0;
String text = "hebao I love you!";
String result = " ";
char[] charArray = text.toCharArray();
for(int j = charArray.length-1; j>=0; j--) {
result += charArray[j];
}
System.out.println(result);
}
}

这里将String字符串类型的数据(末尾没有\0)转化为char[]字符数组,这样就可以一个个控制倒序输出:结果如下:

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

2.字符串定义为String类,转化为一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。

 package himi.hebao05;

 public class TestDemo02 {
public static void main(String[] args) {
int i = 0;
String text = "hebao I love you!";
reverseString1(text);
} public static void reverseString1(String text) {
StringBuffer stringBuffer = new StringBuffer(text);
System.out.print(stringBuffer.reverse());
} }

运行的结果如下:

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

3. 对字符串转化为byte[],byte[]是将字符串每个字符存储为byte类型,但是不是char类型。所以这里不能直接倒序输出(不能类似1那样)。但是我们可以将字符串转化为byte[]之后进行元素的首尾对称交换,这样可以实现倒序输出的目的:

 package himi.hebao05;

 public class TestDemo02 {
public static void main(String[] args) {
int i = 0;
String text = "hebao I love you!";
System.out.println(reverseString2(text)); } public static String reverseString2(String text) {
if(text == null || text.length() <0 ) {
return "ERROR";
}
byte[] bytes = text.getBytes();
for(int i=0; i<bytes.length/2; i++) {
byte b= bytes[i];
bytes[i] = bytes[bytes.length-1-i];
bytes[bytes.length-1-i] = b;
} return new String(bytes);
} }

输出结果如下:

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

4. 也可以使用第三方工具包StringUtils中的字符串反转方法