Java 字符串相关类总结

之前整理了 Java 集合类相关内容。结果今天刷题的时候,又碰到了 String 类的内容。的确,String、StringBuffer 和 StringBuilder 也是相当常见、常用的内容。因此,本文对 Java String 相关类进行了整理。参考内容在文末给出。

1. 字符串相关类

Java 中,字符串相关类主要包括:

  • String
  • StringBuffer
  • StringBuilder

这三者有什么区别呢?

  • String 类初始化之后就不能改变。想要修改已经存在的 String 对象,就得重新创建一个新的对象,覆盖原来的对象。
  • String 如果不使用 new,不能保证创建了新的对象。例如 String stringA = "abc"。必须要 new 才能确保创建新的对象。
  • StringBuffer 修改时不创建新对象,而是直接修改自身,因此更适合修改。
  • StringBuffer 是线程安全的(加入了 synchronized 关键字),而 StringBuilder 是线程不安全的。因此 StringBuffer 更常用。

2. String 类

String 类的常用方法包括:

  • isEmpty, length, toCharArray, toLowerCase(toUpperCase), compareTo, concat, equals, valueOf, split

String 类的增删改查方法包括:

  • 增:无
  • 删:无
  • 改:replace
  • 查:charAt, indexOf, contains

3. StringBuffer 类

StringBuffer 类的常用方法包括:

  • reverse, toString

StringBuffer 类的增删改查方法包括:

  • 增:append, insert
  • 删:delete, deleteCharAt
  • 改:setCharAt, replace
  • 查:getChars, charAt, indexOf, contains
  • 可以看到,StringBuffer 提供了非常非常齐全的修改方法。

4. StringBuilder 类

StringBuilder 基本和 StringBuffer 类提供了一样的方法,但是不保证多线程安全,所以用的很少。

参考内容

  1. String、StringBuffer、StringBuilder 的整理

  2. Java Platform SE 8.chm