概念
Java字符串就是Unicode字符序列
常用方法
- 子串(substring)
- 拼接(+)
- 是否相等(equals();)
- 不区分大小写是否相等(equalsIgnoreCase();)
- charAt()
- compareTo()
- startWith()、endWith()
- indexOf()
- lastIndexOf()
- length()
- replace()
- toLowerCase()、toUpperCase()
- trim()
- join()
特点
- 字符串不可变(字符串对象产生以后就不改变了,唯一的改变方法就是生成一个被改变的新的字符串对象)
- 优点:编译器可以让字符串共享
构建字符串
使用场景:由许多比较短的字符串构建字符串,此时采用字符串连接的方式效率比较低(每次连接都会构建一个新的String对象,耗时又浪费空间),使用StringBuilder类就可以避免发生这类问题
- 使用
- 首先构建一个空字符串构建器
StringBuilder builder = new StringBuilder();
- 每次需要添加时调用
append
方法 - 需要构建字符串时就调用
toString
方法,就可以得到一个String对象
- 首先构建一个空字符串构建器
- ps:StringBuilder和StringBuffer,后者效率稍微低但是支持多线程,单线程的情况下使用前者
- 常用方法(详见核心一P55)
- StringBuilder() 构造空构建器
- length() 返回构建器中代码单元数量
- append() 追加一个字符串或代码单元
- seCharAt() 将第i个代码单元设置为xxx
- insert() 在i出插入xxx
- delete() 删除start到end
- toString() 返回构建器中的字符串
空串与NULL串
- 检验
- 空串(
str.length()!=0
) - NULL串(
str!=null
)
- 空串(
码点和代码单元
详见码点(code point)和代码单元(code unit),以及String对象中操作码点和代码单元