網站建設內容工作總結電商培訓學校
參考答案
- 使用 StringBuilder 或 StringBuffer 的 reverse 方法,本質都調用了它們的父類?AbstractStringBuilder 的?reverse 方法實現。(JDK1.8)
- 不考慮字符串中的字符是否是 Unicode 編碼,自己實現。
- 遞歸
?1.?public AbstractStringBuilder reverse() {}
?驗證:
public class TestReverseString {public static void main(String[] args) {String str = "ABCDE";System.out.println(reverseString(str));System.out.println(reverseStringByStringBuilderApi(str));System.out.println(reverseStringByRecursion(str));}/*** 自己實現* @param str* @return*/public static String reverseString(String str) {if (str != null && str.length() > 0) {int len = str.length();char[] chars = new char[len];for (int i = len - 1; i >= 0; i--) {chars[len - 1 - i] = str.charAt(i);}return new String(chars);}return str;}/*** 使用 StringBuilder* @param str* @return*/public static String reverseStringByStringBuilderApi(String str) {if (str != null && str.length() > 0) {return new StringBuilder(str).reverse().toString();}return str;}/*** 遞歸* @param str* @return*/public static String reverseStringByRecursion(String str) {if (str == null || str.length() <= 1) {return str;}return reverseStringByRecursion(str.substring(1)) + str.charAt(0);}
String類的常用方法有哪些??
String 類的常用方法:?
- equals:字符串是否相同
- equalsIgnoreCase:忽略大小寫后字符串是否相同
- compareTo:根據字符串中每個字符的Unicode編碼進行比較
- compareToIgnoreCase:根據字符串中每個字符的Unicode編碼進行忽略大小寫比較
- indexOf:目標字符或字符串在源字符串中位置下標
- lastIndexOf:目標字符或字符串在源字符串中最后一次出現的位置下標
- valueOf:其他類型轉字符串
- charAt:獲取指定下標位置的字符
- codePointAt:指定下標的字符的Unicode編碼
- concat:追加字符串到當前字符串
- isEmpty:字符串長度是否為0
- contains:是否包含目標字符串
- startsWith:是否以目標字符串開頭
- endsWith:是否以目標字符串結束
- format:格式化字符串
- getBytes:獲取字符串的字節(jié)數組
- getChars:獲取字符串的指定長度字符數組
- toCharArray:獲取字符串的字符數組
- join:以某字符串,連接某字符串數組
- length:字符串字符數
- matches:字符串是否匹配正則表達式
- replace:字符串替換
- replaceAll:帶正則字符串替換
- replaceFirst:替換第一個出現的目標字符串
- split:以某正則表達式分割字符串
- substring:截取字符串
- toLowerCase:字符串轉小寫
- toUpperCase:字符串轉大寫
- trim:去字符串首尾空格