Java 中 String 类的常用方法

发布于:2025-07-23 ⋅ 阅读:(10) ⋅ 点赞:(0)

Java 的 String 类提供了丰富的方法来操作字符串。由于字符串是 不可变对象(任何修改都会生成新对象),所有方法都不会改变原字符串,而是返回新字符串。以下是 Java String 的常用方法分类及示例


1. 字符串基本信息

方法 功能 示例
length() 返回字符串长度 "hello".length() → 5
isEmpty() 判断字符串是否为空(长度为 0) "".isEmpty() → true
isBlank() (Java 11+) 判断字符串是否为空或仅含空白字符 " ".isBlank() → true
String str = "hello";
System.out.println(str.length());  // 5
System.out.println("".isEmpty()); // true
System.out.println("  ".isBlank()); // true (Java 11+)

2. 字符串查找

方法 功能 示例
charAt(int index) 返回指定索引处的字符 "hello".charAt(1) → 'e'
indexOf(String str) 返回子串首次出现的索引(未找到返回 -1 "hello".indexOf("ll") → 2
lastIndexOf(String str) 返回子串最后一次出现的索引 "hello".lastIndexOf("l") → 3
contains(CharSequence s) 判断是否包含子串 "hello".contains("ell") → true
startsWith(String prefix) 判断是否以某字符串开头 "hello".startsWith("he") → true
endsWith(String suffix) 判断是否以某字符串结尾 "hello".endsWith("lo") → true

java

String s = "hello";
System.out.println(s.indexOf("l"));       // 2
System.out.println(s.contains("ell"));    // true
System.out.println(s.startsWith("he"));   // true

3. 字符串截取与分割

方法 功能 示例
substring(int beginIndex) 从 beginIndex 开始截取到末尾 "hello".substring(2) → "llo"
substring(int begin, int end) 截取 [begin, end) 的子串 "hello".substring(1, 4) → "ell"
split(String regex) 按正则表达式分割字符串 "a,b,c".split(",") → ["a", "b", "c"]
split(String regex, int limit) 限制分割次数 "a,b,c".split(",", 2) → ["a", "b,c"]
String s = "hello,world";
String[] parts = s.split(",");  // ["hello", "world"]
String sub = s.substring(1, 4); // "ell"

4. 字符串修改(返回新字符串)

方法 功能 示例
toLowerCase() 转为小写 "HELLO".toLowerCase() → "hello"
toUpperCase() 转为大写 "hello".toUpperCase() → "HELLO"
trim() 去除首尾空白字符 " hello ".trim() → "hello"
strip() (Java 11+) 去除首尾空白(包括 Unicode 空格) " hello ".strip() → "hello"
replace(char old, char new) 替换字符 "hello".replace('l', 'L') → "heLLo"
replace(CharSequence old, CharSequence new) 替换子串 "hello".replace("ll", "LL") → "heLLo"
concat(String str) 拼接字符串 "hello".concat(" world") → "hello world"
String s = "  Hello  ";
System.out.println(s.trim());          // "Hello"
System.out.println(s.replace("l", "L")); // "  HeLLo  "

5. 字符串格式化

方法 功能 示例
format(String format, Object... args) 格式化字符串(类似 printf String.format("Name: %s, Age: %d", "Alice", 25) → "Name: Alice, Age: 25"
formatted(Object... args) (Java 15+) 实例方法格式化 "Name: %s".formatted("Alice") → "Name: Alice"
String formatted = String.format("Name: %s, Age: %d", "Alice", 25);
System.out.println(formatted); // "Name: Alice, Age: 25"

6. 其他实用方法

方法 功能 示例
toCharArray() 转为字符数组 "hello".toCharArray() → ['h', 'e', 'l', 'l', 'o']
matches(String regex) 判断是否匹配正则表达式 "123".matches("\\d+") → true
compareTo(String str) 按字典序比较字符串 "a".compareTo("b") → -1
equals(Object obj) 判断内容是否相等 "hello".equals("HELLO") → false
equalsIgnoreCase(String str) 忽略大小写比较 "hello".equalsIgnoreCase("HELLO") → true
String s = "hello";
System.out.println(s.matches("h.*")); // true
System.out.println(s.compareTo("world")); // -15 (字典序比较)

总结

类别 常用方法
基本信息 length()isEmpty()isBlank()
查找 charAt()indexOf()contains()startsWith()endsWith()
截取与分割 substring()split()
修改 toLowerCase()toUpperCase()trim()replace()concat()
格式化 format()formatted()
其他 toCharArray()matches()compareTo()equals()

注意

  • Java 的 String 是不可变的,所有修改操作都会返回新字符串。

  • 高频操作:split()substring()replace()equals()

  • Java 11+ 新增了 isBlank()strip()formatted() 等便捷方法。


网站公告

今日签到

点亮在社区的每一天
去签到