用Java編寫函數反轉字符串
如下所示,下麵是兩種反轉字符串的方法。
實踐過程中發現,如果是中文字符串,第二種反轉方法會輸出亂碼。
因此,建議首選第一種方法。
/**
* 反轉字符串 演示實例
* 假設有一個字符串 “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);
}
}
最後更新:2017-04-02 22:16:31