如下所示,下面是兩種反轉字符串的方法。
實踐過程中發現,如果是中文字符串,第二種反轉方法會輸出亂碼。
因此,建議首選第一種方法。
- /**
- * 反轉字符串 演示實例
- * 假設有一個字符串 “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);
-
- }
-
-
- }