实现java字符串反转的三种方法
1.问题描述:将字符串String=“abcdefg”实现反转变成 “gfedcba”;用java语言实现。
2.解决方法:
①方法一:利用StringBuffer或StringBuilder的reverse方法。
②方法二:利用String的toCharArray的方法,将字符串转化成char类型数组,然后将各个字符进行重新拼接。
③利用String的charAt方法,取出字符串中的各个字符。
3.代码实现:
package com.code.java01.practice03;
/**
* 实现字符串反转的三种方法
* @author JY
*
*/
public class Test2 {
//测试类
public static void main(String[] args) {
String s="abcdefg";
System.out.println("原字符:"+s);
System.out.println("第一种:"+reverse1(s));
System.out.println("第二种:"+reverse2(s));
System.out.println("第三种:"+reverse3(s));
}
/**
* 第一种:利用StringBuffer/StringBuilder的reverse的方法
* @param str
* @return
*/
public static String reverse1(String str) {
// return new StringBuilder(str).reverse().toString();
return new StringBuffer(str).reverse().toString();
}
/**
* 第二种:利用String的toCharArray的方法,将字符串转化成char类型数组,然后将各个字符进行重新拼接
* @param str
* @return
*/
public static String reverse2(String str) {
char[] chars=str.toCharArray();
String newString="";
for(int i=chars.length-1;i>=0;i--) {
newString+=chars[i];
}
return newString;
}
/**
* 第三种:利用String中的charAt方法取出字符串中的各个字符
* @param str
* @return
*/
public static String reverse3(String str) {
String newString="";
for(int i=str.length()-1;i>=0;i--) {
newString+=str.charAt(i);
}
return newString;
}
}
4.结果输出:
5.字典
①StringBuffer(String str) :构造一个初始化为指定字符串内容的字符串缓冲区。
②StringBuilder(String str) :构造一个初始化为指定字符串的内容的字符串生成器。
③reverse():反转字符串。
④toString() :返回表示该序列中的数据的字符串。
⑤toCharArray():将字符串转化为一个新的字符串组。
其返回值为:一种新分配的字符数组,其长度是该字符串的长度,其内容被初始化为包含由该字符串表示的字符序列。
⑥charAt(int index) :返回 char指定索引处的值。
注:指数范围为0至length() - 1 。 该序列的第一个char值在索引0 ,下一个索引为1 ,依此类推,与数组索引一样。