String
字符串最大特性 一旦被创建就不能被改变
String s1 = "abc";
String s2 = new String("abc");
//s1在内存中有一个对象
//s2在内存中有两个对象
常见操作:
1、获取:
- length() 获取长度
- charAt() 获取角标对应字符
- indexOf() 获取字符所在位置
2、判断:
- isEmpty() 是否为空 可用indexOf()代替
- contains() 是否包含字符串
- startsWith() 是否以字符串开头
- endsWith() 是否以字符串结尾
- equals() 内容是否相同 equalsIgnoreCase() 忽略大小写比较内容
3、转换:
- valueOf() 基本数据类型 转换为 字符串
- toCharArray() 字符串 转换成 字符数组
4、替换与切割
- replace(oldChar, newChar) 字符串替换(临时)
- split() 字符串切割
- substring() 只取从指定角标开始 (包含头不包含尾)
5、比较和去除空格:
public static void main(String[] args) { String str = " ---abc--- "; int start = 0; int end = str.length()-1; while(start <= end && str.charAt(start)==' '){ start++; } while(start <= end && str.charAt(end)==' '){ end--; } System.out.println(str.substring(start,end+1)); }
StringBuffer
StringBuffer是一个字符串缓冲区
是一个容器
- 长度可变
- 可操作多个数据类型
- 通过toString方法变成字符串
CRUD create、update、read、delete
- 存储
append() : 末尾处插入insert(): 指定位置插入
- 删除
delete(): 删除数据,包含头不包含尾
deleteCharAt(): 删除指定位置
- 获取
CharAt(): 指定角标
indexOf(): 第一次出现位置
lastIndexOf(): 反向找
length(): 长度
substring(): 返回String类型
- 修改
replace(): 指定角标域替换
setCharAt(): 替换指定角标
reverse(): 反转