有四种方式:
- 自定义实现,利用递归的方式
/**
* 自定义实现,利用递归的方式
*
* @param originStr
* @return String
*/
public static String reverse(String originStr) {
if (originStr == null || originStr.length() <= 0) {
return originStr;
}
// String originStr1 = originStr.substring(1);
// String reverse = reverse(originStr1);
// char c = originStr.charAt(0);
// return reverse + c;
return reverse(originStr.substring(1)) + originStr.charAt(0);
}
- 自定义实现,利用String的toCharArray
/**
* 自定义实现,利用String的toCharArray
*
* @param originStr
* @return String
*/
public static String reverse1(String originStr) {
if (originStr == null || originStr.length() <= 0) {
return originStr;
}
char[] chars = originStr.toCharArray();
String result = "";
for (int i = chars.length - 1; i >= 0; i--) {
result += chars[i];
}
return result;
}
- StringBuilder的方式
/**
* StringBuilder的方式
*
* @param originStr
* @return String
*/
public static String reverse2(String originStr) {
if (originStr == null || originStr.length() <= 0) {
return originStr;
}
StringBuilder sb = new StringBuilder(originStr);
return sb.reverse().toString();
}
- StringBuffer的方式
/**
* StringBuffer的方式
*
* @param originStr
* @return String
*/
public static String reverse3(String originStr) {
if (originStr == null || originStr.length() <= 0) {
return originStr;
}
StringBuffer sb = new StringBuffer(originStr);
return sb.reverse().toString();
}