String类的常用方法有哪些

在Java中,String类提供了丰富的方法来处理字符串操作。以下是其常用方法的分类总结:


​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() 方法支持正则表达式。

这些方法覆盖了日常开发中字符串操作的绝大部分需求,熟练掌握能极大提升编码效率!

posted @ 2025-06-16 16:03  joshua317  阅读(173)  评论(0)    收藏  举报