## Java String 常用方法整理表 | **方法名** | **参数形式** | **返回类型** | **功能描述** | **示例** | | -------------------- | ---------------------------------------------------- | ------------ | -------------------------- | --------------------------------------------------------- | | **长度/内容** | | | | | | `length()` | `()` | `int` | 获取字符串长度 | `"Java".length()` → `4` | | `isEmpty()` | `()` | `boolean` | 判断字符串是否为空 | `"".isEmpty()` → `true` | | `isBlank()` | `()` | `boolean` | 判断是否空白字符 | `" ".isBlank()` → `true` | | **字符访问** | | | | | | `charAt()` | `(int index)` | `char` | 获取索引位置的字符 | `"Java".charAt(1)` → `'a'` | | `toCharArray()` | `()` | `char[]` | 转为字符数组 | `"abc".toCharArray()` → `{'a','b','c'}` | | **比较操作** | | | | | | `equals()` | `(Object another)` | `boolean` | 内容相等比较 | `"java".equals("Java")` → `false` | | `equalsIgnoreCase()` | `(String str)` | `boolean` | 忽略大小写比较 | `"java".equalsIgnoreCase("Java")` → `true` | | `compareTo()` | `(String str)` | `int` | 字典顺序比较 | `"A".compareTo("B")` → `负数` | | **查找操作** | | | | | | `indexOf()` | `(String str)` | `int` | 查找子串首次索引 | `"apple".indexOf("pl")` → `2` | | `indexOf()` | `(String str, int fromIndex)` | `int` | 从指定位置查找 | `"banana".indexOf("na", 3)` → `4` | | `lastIndexOf()` | `(String str)` | `int` | 查找子串最后一次索引 | `"mississippi".lastIndexOf("si")` → `6` | | `contains()` | `(CharSequence s)` | `boolean` | 是否包含子串 | `"hello".contains("ll")` → `true` | | `startsWith()` | `(String prefix)` | `boolean` | 是否以指定前缀开始 | `"file.txt".startsWith("file")` → `true` | | `endsWith()` | `(String suffix)` | `boolean` | 是否以指定后缀结束 | `"img.png".endsWith(".png")` → `true` | | **子串操作** | | | | | | `substring()` | `(int beginIndex)` | `String` | 从beginIndex截取到结尾 | `"programming".substring(3)` → `"gramming"` | | `substring()` | `(int beginIndex, int endIndex)` | `String` | 截取[beginIndex, endIndex) | `"universe".substring(2,5)` → `"ive"` | | `split()` | `(String regex)` | `String[]` | 按正则分割字符串 | `"1,2,3".split(",")` → `{"1","2","3"}` | | **修改操作** | | | | | | `concat()` | `(String str)` | `String` | 拼接字符串 | `"Hello".concat("!")` → `"Hello!"` | | `toLowerCase()` | `()` | `String` | 转为小写 | `"Java".toLowerCase()` → `"java"` | | `toUpperCase()` | `()` | `String` | 转为大写 | `"Java".toUpperCase()` → `"JAVA"` | | `replace()` | `(char oldChar, char newChar)` | `String` | 替换字符 | `"cafe".replace('e', 'é')` → `"café"` | | `replace()` | `(CharSequence target, CharSequence replacement)` | `String` | 替换子串 | `"dog".replace("dog","cat")` → `"cat"` | | `trim()` | `()` | `String` | 去除首尾空白符 | `" text ".trim()` → `"text"` | | `strip()` | `()` | `String` | 去除首尾空白符(Unicode) | `" text ".strip()` → `"text"` | | **高级操作** | | | | | | `valueOf()` | `(基本类型/对象)` | `String` | 转为字符串 | `String.valueOf(123)` → `"123"` | | `format()` | `(String format, Object... args)` | `String` | 格式化字符串 | `String.format("Value: %.2f", 3.1415)` → `"Value: 3.14"` | | `join()` | `(CharSequence delimiter, CharSequence... elements)` | `String` | 连接多个字符串 | `String.join("-", "A","B")` → `"A-B"` | | `repeat()` | `(int count)` | `String` | 重复字符串 | `"A".repeat(3)` → `"AAA"` | | `matches()` | `(String regex)` | `boolean` | 正则表达式匹配 | `"123".matches("\\d+")` → `true` | ## 关键特性说明 1. **不可变性(Immutable)**:所有修改操作都返回新字符串对象,原始字符串不变 ```java String s1 = "Java"; String s2 = s1.toUpperCase(); // s1仍为"Java",s2为"JAVA" ``` 2. **重载方法说明**: - `indexOf()`:支持字符(`char`)或子串(`String`)作为参数 - `substring()`:单参数版截取到结尾,双参数版控制结束位置 - `replace()`:支持字符替换和子串替换两种形式 3. **版本特性**: - `isBlank()`, `strip()`, `repeat()` 是 Java 11+ 新增方法 - `trim()` 无法处理全角空格等Unicode空白符,优先使用`strip()` 4. **性能提示**: ```java // 避免在循环中使用+进行字符串拼接 StringBuilder sb = new StringBuilder(); for (int i = 0; i < 100; i++) { sb.append(i); } String result = sb.toString(); ``` Loading... ## Java String 常用方法整理表 | **方法名** | **参数形式** | **返回类型** | **功能描述** | **示例** | | -------------------- | ---------------------------------------------------- | ------------ | -------------------------- | --------------------------------------------------------- | | **长度/内容** | | | | | | `length()` | `()` | `int` | 获取字符串长度 | `"Java".length()` → `4` | | `isEmpty()` | `()` | `boolean` | 判断字符串是否为空 | `"".isEmpty()` → `true` | | `isBlank()` | `()` | `boolean` | 判断是否空白字符 | `" ".isBlank()` → `true` | | **字符访问** | | | | | | `charAt()` | `(int index)` | `char` | 获取索引位置的字符 | `"Java".charAt(1)` → `'a'` | | `toCharArray()` | `()` | `char[]` | 转为字符数组 | `"abc".toCharArray()` → `{'a','b','c'}` | | **比较操作** | | | | | | `equals()` | `(Object another)` | `boolean` | 内容相等比较 | `"java".equals("Java")` → `false` | | `equalsIgnoreCase()` | `(String str)` | `boolean` | 忽略大小写比较 | `"java".equalsIgnoreCase("Java")` → `true` | | `compareTo()` | `(String str)` | `int` | 字典顺序比较 | `"A".compareTo("B")` → `负数` | | **查找操作** | | | | | | `indexOf()` | `(String str)` | `int` | 查找子串首次索引 | `"apple".indexOf("pl")` → `2` | | `indexOf()` | `(String str, int fromIndex)` | `int` | 从指定位置查找 | `"banana".indexOf("na", 3)` → `4` | | `lastIndexOf()` | `(String str)` | `int` | 查找子串最后一次索引 | `"mississippi".lastIndexOf("si")` → `6` | | `contains()` | `(CharSequence s)` | `boolean` | 是否包含子串 | `"hello".contains("ll")` → `true` | | `startsWith()` | `(String prefix)` | `boolean` | 是否以指定前缀开始 | `"file.txt".startsWith("file")` → `true` | | `endsWith()` | `(String suffix)` | `boolean` | 是否以指定后缀结束 | `"img.png".endsWith(".png")` → `true` | | **子串操作** | | | | | | `substring()` | `(int beginIndex)` | `String` | 从beginIndex截取到结尾 | `"programming".substring(3)` → `"gramming"` | | `substring()` | `(int beginIndex, int endIndex)` | `String` | 截取[beginIndex, endIndex) | `"universe".substring(2,5)` → `"ive"` | | `split()` | `(String regex)` | `String[]` | 按正则分割字符串 | `"1,2,3".split(",")` → `{"1","2","3"}` | | **修改操作** | | | | | | `concat()` | `(String str)` | `String` | 拼接字符串 | `"Hello".concat("!")` → `"Hello!"` | | `toLowerCase()` | `()` | `String` | 转为小写 | `"Java".toLowerCase()` → `"java"` | | `toUpperCase()` | `()` | `String` | 转为大写 | `"Java".toUpperCase()` → `"JAVA"` | | `replace()` | `(char oldChar, char newChar)` | `String` | 替换字符 | `"cafe".replace('e', 'é')` → `"café"` | | `replace()` | `(CharSequence target, CharSequence replacement)` | `String` | 替换子串 | `"dog".replace("dog","cat")` → `"cat"` | | `trim()` | `()` | `String` | 去除首尾空白符 | `" text ".trim()` → `"text"` | | `strip()` | `()` | `String` | 去除首尾空白符(Unicode) | `" text ".strip()` → `"text"` | | **高级操作** | | | | | | `valueOf()` | `(基本类型/对象)` | `String` | 转为字符串 | `String.valueOf(123)` → `"123"` | | `format()` | `(String format, Object... args)` | `String` | 格式化字符串 | `String.format("Value: %.2f", 3.1415)` → `"Value: 3.14"` | | `join()` | `(CharSequence delimiter, CharSequence... elements)` | `String` | 连接多个字符串 | `String.join("-", "A","B")` → `"A-B"` | | `repeat()` | `(int count)` | `String` | 重复字符串 | `"A".repeat(3)` → `"AAA"` | | `matches()` | `(String regex)` | `boolean` | 正则表达式匹配 | `"123".matches("\\d+")` → `true` | ## 关键特性说明 1. **不可变性(Immutable)**:所有修改操作都返回新字符串对象,原始字符串不变 ```java String s1 = "Java"; String s2 = s1.toUpperCase(); // s1仍为"Java",s2为"JAVA" ``` 2. **重载方法说明**: - `indexOf()`:支持字符(`char`)或子串(`String`)作为参数 - `substring()`:单参数版截取到结尾,双参数版控制结束位置 - `replace()`:支持字符替换和子串替换两种形式 3. **版本特性**: - `isBlank()`, `strip()`, `repeat()` 是 Java 11+ 新增方法 - `trim()` 无法处理全角空格等Unicode空白符,优先使用`strip()` 4. **性能提示**: ```java // 避免在循环中使用+进行字符串拼接 StringBuilder sb = new StringBuilder(); for (int i = 0; i < 100; i++) { sb.append(i); } String result = sb.toString(); ``` 最后修改:2025 年 10 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 👆请简单粗暴地爱我。