字符串string
java字符串方法String s = "abcdefghigk"
***********************************
**- 获取字符串长度 (返回值整型)**
s.length();
**********************************
- 获取指定的字符 (返回值整型)
s.charAt(index); // 返回指定索引处的字符。
index 索引
**********************************
- 获取指定字符串索引位置
s.indexOf(substr); // 返回substr第一次在s中出现的索引位置。
substr 要搜索的字符串 也可以是字符
s.indexOf(substr,index)
index 开始搜索的索引位置
找不到返回-1
s.lastIndexOf(substr); // 返回substr在s中最右边出现的索引位置。
主要是倒着查找。
s.lastIndexOf(substr,index); // 指定索引开始反向查找
**********************************
- 判断字符串首尾内容 (返回布尔值)~~
s.startWith(prefix); // 判断是否以指定内容开始。
prefix 前缀字符串
s.startWith(prefix,index); // 判断是否从索引位置开始的字符串以指定内容开始。
s.endWith(suffix); // 判断是否以指定内容结束。
**********************************
- 获取字符数组 (返回字符数组)
s.toCharArray(); // 将字符串转成一个字符数组。
**********************************
- 判断子字符串是否存在 (返回布尔值)
s.contains(str); // 判断s中是否含有 str.
**********************************
- 字符串操作
**********************************
- 截取字符串 (返回值 字符串)
s.subString(index); // 截取从index索引位置开始到结尾。
// 返回一个新的字符串,是 s 的子字符串
s.subString(startindex,endindex); // 开始索引到 结束索引 -1
**********************************
- 字符串替换 (返回值 新的字符串)
s.replace(oldstr,newstr); // 将 s 中的字符串序列全部替换成新字符串序列。
如果没找到旧字符串序列,返回原字符串。
s.replaceAll(regex,replacement); //将指定的字符串全部替换成新的
regex :被替换的字符串或正则表达式
replacement:替换后的字符串
s.replaceFirst(regex,replacement); // 只替换第一个(与上类似)
***************************
- 字符串分隔 (返回值 字符串列表)
s.split(regex) // 根据分隔符分隔(可以使用正则)
s.split(regex,limit) // 限制分隔次数
**************************
- 大小写转换 (如果没有要转换的字符,将原字符串返回, 否则返回新字符串)
s.toLowerCase() // 转成小写
s.toUpperCase() // 转成大写
*************************
- 去除空白内容
s.trim() // 去除字符串两边的空白
去除字符串中的所有空格
String str = s.replaceAll("\s","");
*************************
- 比较字符串是否相等
- // 当且仅当该参数不为null时,且与此对象表示相同字符序列。 才返回true
s.equals(str);
s.equalslgnoreCase(str); // 忽略大小写。
****************************
- 格式化字符串
-
String str = null 与 String str = “” 区别
str = null 是空对象,没有指向任何引用地址。 使用API时,会抛出 NullPointerException异常。 str = "" 是一个字符串,分配了内存空间。可变字符串 StringBuffer
1. 创建类
StringBuffer sbf = new StringBuffer(); // 无初始值
StringBuffer sbf = new StringBuffer("abc"); // 初始值 abc
StringBuffer sbf = new StringBuffer(32); // 初始容量 32
2. append()方法
// 尾部追加
sbf.append("abc"); // 追加字符串序列 abc
3. setCharAt()方法
sbf.setCharAt(index,ch); // 把给定索引处的字符修改为 ch
4. insert()方法
sbf.insert(index,str); // 索引处插入 str
5. reverse()方法
sbf.reverse(); // 字符串翻转,反序输出。
6. delete()方法
sbf.delete(start,end); // 删除索引从 start 到 end-1 的字符串
StringBuilder
String StringBuffer StringBuilder 区别
| 类名 | String | StringBuilder | StringBuffer |
|---|---|---|---|
| 对象类型 | 字符串常量 | 字符串变量 | 字符串变量 |
| 线程安全 | 不安全 | 不安全 | 安全 |
| 执行效率 | 低 | 高 | 中 |
操作少,数据少 String 单线程,操作多,数据多 StringBuilder 多线程,操作多,数据多 StringBuffer



