创作人 Leo
编辑时间 Wed Jan 1,2020 at 10:13
字符串一旦被初始化就不能被改变
string1.equals(string2); 判断两个字符串是否相同
1.字符串中包含的字符数 int length()
2.根据位置获取位置上的字符 char charAt(int index):当访问字符不存在返回StringIndexOutOfBoundsException异常
3.根据字符获取该字符在字符串中第一次出现的位置 int indexOf(int ch)
4.从指定位置开始获取字符串中第一次出现的位置 int indexOf(int ch,int fromIndex)
a) int indexOf(String str)
b) int indexOf(String str,int fromIndex)
5.返回指定字符在此字符串中最后一次出现处的索引
a) int lastIndexOf(int ch)
b) int lastIndexOf(int ch,int fromIndex)
c) int lastIndexOf(String str)
d) int lastIndexOf(String str,int fromIndex)
判断
1.判断字符是否为空 boolean isEmpty()
2.字符串中是否包含某字符 boolean contains(str)
a) indexOf字符串不存在返回-1 也可以判断是否包含某字符串
3.判断是否以指定内容开头 boolean startsWith(str)
4.是否已指定字符结尾 boolean endsWith(str)
5.判断字符串是否相同equals
6.忽略大小写判断字符是否相同 boolean equalsIgnoreCase();
转换
1.将字符数组转成字符串
a) String (char[])
b) String (char[],offset,count) 将一部分转换成字符串
c) 静态方法
i. Static String copyValueOf()
2.将字符串转换字符数组
a) char[] toCharArray()
3.将字节数组转换字符串
a) String (byte[])
4.将字符串转换成字节数组
a) byte[] getByte()
5.将基本数据类型转换成字符串
a) Static String valueOf(int)
b) Static String valueOf(double)
*字符串和字节数组在转换过程中可以指定编码表
替换
String replace(oldChar,newChar) //成功替换返回新字符串
切割
String[] split(regex)
StringBuffer 常见操作
字符串缓冲区 这是一个容器 长度是可以变化的 可以直接操作多个类型 最终通过toString方法变成字符串
当数据类型不确定 使用 StringBuffer 比较方便
存储
append 添加 返回缓冲区对象
insert(int index,String str)
public static void main(String args[]){ StringBuffer abc=new StringBuffer(); abc.append(“hello “).append(“world!”); System.out.println(abc.toString()); abc.insert(6,“lixin “); System.out.println(abc.toString()); }
删除
delete(int start,int end) 包含头不包含尾
deleteCharAt(int index)
获取
char charAt
int indexOf
int lastIndexOf
String subString
修改
replace(int start,int end,String str )
反转
reverse
StringBuilder 常见操作
线程安全的可变字符序列 但线程不同步
StringBuffer 比 StringBuilder 安全
但单线程程序 StringBuilder 比 StringBuffer效率高
StringBuilder 的添加提高了java程序效率