用Java编写函数反转字符串

来源:互联网 发布:域名实名不通过 编辑:程序博客网 时间:2024/06/16 12:53

如下所示,下面是两种反转字符串的方法。

实践过程中发现,如果是中文字符串,第二种反转方法会输出乱码。

因此,建议首选第一种方法。


/** * 反转字符串 演示实例 * 假设有一个字符串 “ABCDEF”,反转后,输出“FEDCBA” */package com.reverse;/** * @author snowdream *  * @since 2012.03.05 * */public class StringReverse {/** *  * ReverseString: 利用StringBuffer反转字符串 * * @param      str  待反转字符串 * @return     String 已反转字符串   */public String ReverseString(String str){StringBuffer mstr = new StringBuffer(str);System.out.println("Reversed String : "+ mstr.reverse().toString());return mstr.reverse().toString();}/** *  * ReverseString1: 利用字符数组的方法反转字符串 * * @param      str  待反转字符串 * @return     String 已反转字符串   */public String ReverseString1(String str){byte[] mchars = str.getBytes();byte temp = 0;int length = mchars.length;for(int i = 0; i < length/2 ;i++){temp = mchars[i];mchars[i] = mchars[length -1 -i];mchars[length -1 -i] = temp;}String mstr = new String(mchars);System.out.println("Reversed String : "+ mstr);return mstr;}/** * @param args */public static void main(String[] args) {StringReverse mReverse = new StringReverse();//String str = "Hello World!";String str = "你好 中国!";mReverse.ReverseString(str);mReverse.ReverseString1(str);}}