網(wǎng)站建設(shè)內(nèi)容工作總結(jié)電商培訓(xùn)學(xué)校
參考答案
- 使用 StringBuilder 或 StringBuffer 的 reverse 方法,本質(zhì)都調(diào)用了它們的父類?AbstractStringBuilder 的?reverse 方法實(shí)現(xiàn)。(JDK1.8)
- 不考慮字符串中的字符是否是 Unicode 編碼,自己實(shí)現(xiàn)。
- 遞歸
?1.?public AbstractStringBuilder reverse() {}
?驗(yàn)證:
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));}/*** 自己實(shí)現(xiàn)* @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:根據(jù)字符串中每個(gè)字符的Unicode編碼進(jìn)行比較
- compareToIgnoreCase:根據(jù)字符串中每個(gè)字符的Unicode編碼進(jìn)行忽略大小寫比較
- indexOf:目標(biāo)字符或字符串在源字符串中位置下標(biāo)
- lastIndexOf:目標(biāo)字符或字符串在源字符串中最后一次出現(xiàn)的位置下標(biāo)
- valueOf:其他類型轉(zhuǎn)字符串
- charAt:獲取指定下標(biāo)位置的字符
- codePointAt:指定下標(biāo)的字符的Unicode編碼
- concat:追加字符串到當(dāng)前字符串
- isEmpty:字符串長(zhǎng)度是否為0
- contains:是否包含目標(biāo)字符串
- startsWith:是否以目標(biāo)字符串開(kāi)頭
- endsWith:是否以目標(biāo)字符串結(jié)束
- format:格式化字符串
- getBytes:獲取字符串的字節(jié)數(shù)組
- getChars:獲取字符串的指定長(zhǎng)度字符數(shù)組
- toCharArray:獲取字符串的字符數(shù)組
- join:以某字符串,連接某字符串?dāng)?shù)組
- length:字符串字符數(shù)
- matches:字符串是否匹配正則表達(dá)式
- replace:字符串替換
- replaceAll:帶正則字符串替換
- replaceFirst:替換第一個(gè)出現(xiàn)的目標(biāo)字符串
- split:以某正則表達(dá)式分割字符串
- substring:截取字符串
- toLowerCase:字符串轉(zhuǎn)小寫
- toUpperCase:字符串轉(zhuǎn)大寫
- trim:去字符串首尾空格