1. 获取字符串信息
length()
返回字符串长度(字符数)。
示例:"hello".length() → 5
charAt(int index)
返回指定索引处的字符(索引从0开始)。
示例:"Java".charAt(2) → 'v'
2. 字符串比较
equals(Object obj)
比较内容是否相等(区分大小写)。
示例:"java".equals("Java") → false
equalsIgnoreCase(String str)
忽略大小写比较内容。
示例:"java".equalsIgnoreCase("Java") → true
compareTo(String str)
按字典顺序比较大小(返回差值:负数/0/正数)。
示例:"a".compareTo("b") → -1
compareToIgnoreCase(String str)
忽略大小写的字典顺序比较。
示例:"A".compareToIgnoreCase("a") → 0
3. 字符串查找
contains(CharSequence s)
是否包含指定字符序列。
示例:"coding".contains("in") → true
indexOf(String str)
返回子串首次出现的索引(未找到返回-1)。
示例:"apple".indexOf("p") → 1
lastIndexOf(String str)
返回子串最后一次出现的索引。
示例:"apple".lastIndexOf("p") → 2
startsWith(String prefix)
是否以指定前缀开头。
示例:"hello".startsWith("he") → true
endsWith(String suffix)
是否以指定后缀结尾。
示例:"world".endsWith("ld") → true
4. 字符串截取与拆分
substring(int beginIndex)
从beginIndex到末尾截取子串。
示例:"hello".substring(1) → "ello"
substring(int beginIndex, int endIndex)
截取[beginIndex, endIndex)的子串。
示例:"hello".substring(1, 4) → "ell"
split(String regex)
按正则表达式拆分字符串为数组。
示例:"a,b,c".split(",") → {"a", "b", "c"}
5. 字符串修改
concat(String str)
拼接字符串(等价于 +)。
示例:"hello".concat(" world") → "hello world"
replace(char oldChar, char newChar)
替换所有匹配字符。
示例:"banana".replace('a', 'o') → "bonono"
replace(CharSequence target, CharSequence replacement)
替换所有匹配子串。
示例:"Java".replace("va", "VA") → "JaVA"
replaceAll(String regex, String replacement)
用正则替换所有匹配子串。
示例:"a1b2".replaceAll("\\d", "0") → "a0b0"
toLowerCase() / toUpperCase()
转换为小写/大写。
示例:"Java".toUpperCase() → "JAVA"
trim()
删除首尾空白符(包括空格、制表符\t等)。
示例:" text ".trim() → "text"
strip()
删除首尾空白符(支持Unicode空白字符,JDK 11+)。
6. 类型转换
toCharArray()
转换为字符数组。
示例:"hi".toCharArray() → {'h', 'i'}
valueOf(基本类型/对象)
将其他类型转为字符串(静态方法)。
示例:String.valueOf(123) → "123"
7. 格式化与正则
format(String format, Object... args)
格式化字符串(静态方法)。
示例:String.format("%s:%d", "id", 100) → "id:100"
matches(String regex)
检查字符串是否匹配正则表达式。
示例:"123".matches("\\d+") → true
8. 其他实用方法
isEmpty()
检查字符串是否为空(length() == 0)。
示例:"".isEmpty() → true
join(CharSequence delimiter, CharSequence... elements)
用分隔符拼接多个字符串(静态方法)。
示例:String.join("-", "2023", "08") → "2023-08"
repeat(int count)
重复字符串多次(JDK 11+)。
示例:"a".repeat(3) → "aaa"
注意
字符串不可变性:所有修改操作(如替换、拼接)均返回新字符串,原字符串不变。
正则表达式:replaceAll()、split()、matches() 方法支持正则表达式。
这些方法覆盖了日常开发中字符串操作的绝大部分需求,熟练掌握能极大提升编码效率!