String字符串反转的几种方式?

这是我前段时间面试平安惠普项目的一个面试题,当时没有回答出来,特写此博客标记!

//将字符串反转有几种方法!
public class StringReversal {
	/*
	 * 方法三:调用String对象的charAt()方法,将字符串从后往前依次取出来,
	 * 然后添加到StringBuffer当中去,在转换成String对象
	 */
	public static String reverse1(String str){
		StringBuffer sb = new StringBuffer();
		for (int x = str.length() -1; x >= 0; x--) {
			sb.append(str.charAt(x));
		}
		return sb.toString();
	}

	/*
	 * 方法二:将String对象转换成Stringbuffer对象后,
	 * 调用StringBuffer的reverse()方法实现反转,然后在转换成String对象
	 */
	public static String reverse(String str){
		StringBuffer sb = new StringBuffer(str);
		StringBuffer res = sb.reverse();
	    return res.toString();
	}

	/*
	 * 方法一:将String字符串转换成字符数组,反转字符数组后,在将数组转化为String对象
	 */
	public static String reversal(String str) {
		char[] array = str.toCharArray();
		for (int x = 0, y = array.length - 1; x < y; x++, y--) {
			char temp = array[x];
			array[x] = array[y];
			array[y] = temp;
		}
		return new String(array);
	}
	public static void main(String[] args) {
		String str = "飞利浦剃须刀";
		String st = reversal(str);
		System.out.println(st);
		
		String string = reverse(str);
		System.out.println(string);
		
		String str2 = reverse1(str);
		System.out.println(str2);
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值