JAVA中的字符串反转(转载)

操作字符串,是JAVA中的一项常用的而且也是一种基本的能力。对于反转字符串这一看似简单的操作,里面体现了好多的字符串的应用,下面结合自己的想法与网上的方法,总结反转字符串基本上有以下一些方法。以方法表现的性能从高到底列出:

第一种方法:

public static String getRevString(String str){

String a = str;

char[] c = a.toCharArray();

int i=a.length();

i--;

char temp;

for (int count=0;count<i;count++,i-- )

{

temp=c[count];

c[count]=c[i];

c[i]=temp;

}

return new String(c,0,a.length());

}

第二种方法:

public static String getRevString(String str){

StringBuffer sb = new StringBuffer(str);

String returnStr = sb.reverse().toString();

return returnStr;

}

第三种方法:

public static String getRevString(String str){

char[] temp = str.toCharArray();

int length = temp.length;

char[] recive = new char[length];

for(int i=length;i>0;i--){

recive[length-i] = temp[i-1];

}

String temp2 = new String(recive);

return temp2;

}

第四种方法:

public static String getRevString(String s){

StringBuffer sb = new StringBuffer();

for ( int i = s.length() - 1; i >= 0; i--) {



sb .append(s.charAt(i));

}

return sb.toString();

}

最后一种方法是用递归的方法实现的:

其方法体如下:

public static String getRevString(String strTest){

if(strTest.length() == 1)

return strTest;



String strResult = strTest.substring(strTest.length() -1,strTest.length());

strResult += getRevString (strTest.substring(0,strTest.length() -1));

return strResult;

}

这种递归的方法当要反转的字符串少时,不会出现错误,但当要反转的字转串比较多时,这种方法就会报堆栈溢出错误,还没搞清是怎么回事.这种方法的性能也不是太好.
转载自:http://wusaihe.blog.163.com/blog/static/7239597120104129531235/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值