1、String的常用方法
方法 | 说明 |
---|---|
int length() | 返回当前字符串的长度 |
int indexOf(int ch) | 查找ch字符在该字符串中首次出现的位置 ,找不到返回-1 |
int indexOf(String str) | 查找str子字符串在该字符串中第一次出现的位置 |
int lastIndexOf(int ch) | 查找ch字符在该字符串中最后一次出现的位置 |
int lastIndexOf(String str) | 查找str子字符串在该字符串中最后一次出现的位置 |
String subString(int beginIndex) | 获取从指定索引处开始到结束的子字符串 |
String subString(int beginIndex,int endIndex) | 获取从指定索引处开始,指定索引处结束的子字符串 [beginIndex,endIndex) |
String trim() | 返回移除字符串前后两端的空格的字符串 |
boolean equals(Object obj) | 将字符串与指定对象比较 |
String toLowerCase() | 将字符串转换为小写 |
String toUpperCase() | 将字符串转换为大写 |
char charAt(int index) | 返回字符串指定索引位置处的字符,该操作subString()也能做 |
String[] split(String regex,int limit) | 将字符串分割为子字符串数组 |
bytep[] getBytes() | 将该字符串转为byte数组 |
indexOf(int ch,int fromIndex) | 从指定索引位置处开始查找指定字符 |
栈:用来存放类的引用的
堆:存放用new 创建的字符串对象 常量池:存放字符串常量
2、String的不可变性
- String对象一旦创建,则不能修改,是不可变的
-
3、StringBuilder
String和StringBuilder的区别
- String具有不可变性,而StringBuilder不具备
- 建议:当频繁操作字符串的时候,使用StringBuilder
- StringBuilder和StringBuffer,二者基本相似。
- StringBuffer是线程安全的,StringBuilder则没有,所以性能高。
- 大部分情况下,我们在进行字符串处理的时候都是单线程,也就是在一个线程的情况下。线程安全主要指的是多线程的情况下,在单线程的情况下,都是使用StringBuilder。
StringBuilder的构造方法 | 方法 | 说明 | | —- | —- | | StringBuilder() | 在初始化空串的时候,会初始化一个16个字符长度的容量 | | StringBuilder(CharSequence seq) | 创建并指定内容 | | StringBuilder(int capacity) | 创建并指定容量 | | StringBuilder(String str) | 创建并指定内容 |
StringBuilder的成员方法
- append :在末尾追加元素
- insert :在指定位置处追加元素
- replace:替换某个位置处的子串