Stringbuffer
Stringbuffer:字符串缓冲区
* 用于存储数据的容器
特点:1.长度可变
* 2.存储不同类型的数据
* 3.最终都要转成字符串进行使用
* 4.可以对字符串进行修改
*
* 这个容器的功能:
* 1.添加 append(obj)
* insert(index,obj)
* 2.修改 sb.replace(start,end,str)
* sb.setCharAt(index,char)
* 3.删除 sb.delete(index)
* sb.delete(start,end)
* 4.查找 char charAt = sb.charAt(index);查找单个
* int IndexOf = sb.lastIndexOf(str);
* int IndexOf = sb.IndexOf(str);
* StringBuilder jdk1.5版本之后出现的,和Stringbuffer功能一样
*
* 不同: StringBuffer 线程安全的,用于多线程
* StringBuilder 线程不安全的,用于单线程
这两个内部实现的区别在于synchronized
String StringBuffer StringBuilder
String : 字符串常量,对象已创建不可更改
StringBuffer,StringBuilder,字符串变量,对象创建完以后,可以更改
String str = "abc";
syso(str);//abc
str = str + "de";
syso(str);//abcde
1.运行速度
String速度最慢
Stringb速度适中
Stringbuil速度最快
2.线程安全
少量的字符串操作 String
多线程大量的字符串进行操作 StringBuffer
单线程大量的字符串进行操作 StringBuilder
效率:
StringBuilder > StringBuffer > String
String
/1.判断功能
equals(Object o) 比较字符串的内容是否相同
* equalsIgnoreCase(String another) 比较字符串的内容是否相同,不区分大小写
* startsWith(String str)是否以指定字符串开头
* endsWith(String str)是否以制定字符串结尾
* /
2.获取功能
length() 返回字符串长度
* charAt(int index) 根据位置获取字符
* indexOf(String str)获取字符串首次出现的位置
* indexOf(String str,int from)获取字符串在指定位置,首次出现的位置
* indexOf(int ch)获取字符首次出现的位置
* indexOf(int ch,int from)获取字符在指定位置,首次出现的位置
*
* indexOf(String str)获取字符串最后一次出现的位置
* indexOf(String str,int from)获取字符串在指定位置,最后一次出现的位置
* indexOf(int ch)获取字符最后一次出现的位置
* indexOf(int ch,int from)获取字符在指定位置,最后一次出现的位置