字符串常用类
String
String的简单介绍
- 代表字符串,java的所有字符串字面值,都是该类的实现。
- 被final修饰,不可变的字符序列
- 常量,定义后不可修改
- 存在final char[] 数组中
- 实现了Serializable接口,表示可以序列化的
实现了Comparable接口,表示可以比较大小
String的常用方法
length()长度
- charAt(n)截取索引第N位字符
- isEmpty()判断是否为空
- toLowerCase()转为小写
- toUpperCase()转为大写
- trim()去掉开头末尾空格
- eqals()比较
- eqalsignoreCase()忽略大小写比较
- compareTo():比较大小
- substring(a)从索引a开始截取
- substring(a,b)从索引a到索引b
- comcat()相当与
- endsWith\startsWith是否以指定的字符串开始结束
- contains(s)是否包含
- indexOf(s)返回子字符串第一次出现的索引
- indexOf(s,n)从n开始找s
- lastIndexOf(s)最后一个出现S的索引
- replace(c1,c2)用c1替换C2
- replace(s,s)字符串换字符串
- replaceAll(z,s)使用正则表达式替换
- matche(z)是否匹配正则
split()切片
String 的转换
包装类转成String : String.valueOf(其他包装类)
- String转成包装类:包装类.parseXXX(String)
- 与char[]的转换 实例.toCharArray
与byte[]的转换 实例.getBytes()
StringBuffer 和 StringBuilder 与 String 的异同
String :不可变的字符序列,底层用 final char[]数组存储
- StringBuffer:可变的字符序列,线程安全的,效率较低。用char[]数组存储
- StringBuilder:可变的字符序列,线程不安全的,效率较高。用char[]数组存储。
- 空StringBuffer和StringBuilder默认char[]长度为16,
- 扩容问题:append后的长度超过当前value.length,扩容为原有数组的两倍+2,还不够就直接用append后的长度赋值当做数组长度使用。
- StringBuffer常用方法
1. append(o)末尾添加
2. delete(start,end)删除指定序列区间的字符
3. replace(start,end,str)替换指定序列区间的字符
4. insert(int,str)在指定序列之前插入str
5. reverse()倒叙当前字符序列
6. indexOf(s)返回指定字符第一次出现的位置
7. substring(n,n)截取指定序列区间的字符
8. charAt(n)返回指定序列的字符
9. setCharAt(n,s)替换指定位置的字段