993
技术社区[云栖]
用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