Java中字符串(String类)的常用方法

以下是Java中字符串(String类)的常用方法分类详解,包含核心方法说明和示例代码:


一、字符串基础信息

方法说明示例输出
length()返回字符串长度"Hello".length()5
isEmpty()判断字符串是否为空(长度是否为0)"".isEmpty()true
charAt(int index)返回指定索引处的字符"Java".charAt(2)'v'

二、字符串内容判断

方法说明示例输出
equals(Object obj)比较字符串内容是否相等(区分大小写)"java".equals("Java")false
equalsIgnoreCase(String str)比较字符串内容是否相等(不区分大小写)"java".equalsIgnoreCase("Java")true
contains(CharSequence s)判断是否包含指定字符序列"Hello".contains("ell")true
startsWith(String prefix)判断是否以指定前缀开头"File.txt".startsWith("File")true
endsWith(String suffix)判断是否以指定后缀结尾"Image.jpg".endsWith(".png")false

三、字符串操作

方法说明示例输出
substring(int beginIndex)截取从beginIndex到末尾的子串"Hello".substring(2)"llo"
substring(int begin, int end)截取[begin, end)区间的子串"Java".substring(1, 3)"av"
concat(String str)拼接字符串(等效于+操作符)"Hello".concat(" World")"Hello World"
replace(char old, char new)替换所有old字符为new字符"apple".replace('p', 'b')"abble"
replaceAll(String regex, String replacement)使用正则替换所有匹配内容"a1b2".replaceAll("\\d", "-")"a-b-"

四、字符串转换

方法说明示例输出
toLowerCase()转换为全小写"Java".toLowerCase()"java"
toUpperCase()转换为全大写"Java".toUpperCase()"JAVA"
trim()去除首尾空白符" Hello ".trim()"Hello"
split(String regex)按正则分割字符串为数组"a,b,c".split(",")["a", "b", "c"]

五、字符串查找

方法说明示例输出
indexOf(String str)返回str首次出现的索引(未找到返回-1"Java".indexOf("a")1
lastIndexOf(String str)返回str最后一次出现的索引"banana".lastIndexOf("a")5
matches(String regex)判断是否匹配正则表达式"123".matches("\\d+")true

六、格式化与转换

方法说明示例输出
format(String format, Object... args)格式化字符串(静态方法)String.format("%s:%d", "ID", 100)"ID:100"
valueOf(Object obj)将对象转换为字符串(静态方法)String.valueOf(3.14)"3.14"

七、正则表达式操作

方法说明示例
replaceFirst(String regex, String replacement)替换第一个匹配项"a1b2".replaceFirst("\\d", "-")"a-b2"
split(String regex, int limit)按正则分割字符串,限制分割次数"a,b,c".split(",", 2)["a", "b,c"]

注意事项

  1. 字符串不可变性:所有操作均返回新字符串,原字符串不变。

    String s = "Hello";
    s.toUpperCase(); // 原字符串s仍为"Hello"
    String s2 = s.toUpperCase(); // s2 = "HELLO"
    
  2. 性能优化:频繁拼接字符串时使用StringBuilder代替+

    StringBuilder sb = new StringBuilder();
    sb.append("Hello").append(" World");
    String result = sb.toString();
    
  3. 正则转义:特殊字符需转义(如.需写为\\.)。

    "file.txt".split("\\."); // 正确分割为["file", "txt"]
    

综合示例:解析CSV数据

String csv = "Name,Age,City\nAlice,30,New York\nBob,25,San Francisco";
String[] rows = csv.split("\n");
for (String row : rows) {
    String[] columns = row.split(",");
    System.out.println(Arrays.toString(columns));
}

输出

[Name, Age, City]
[Alice, 30, New York]
[Bob, 25, San Francisco]

掌握这些方法能高效处理字符串操作,建议结合具体场景灵活使用!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

步行cgn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值