StringBuffer与StringBudder

StringBuffer-java.lang

线程安全

1.所属的包 java.lang包

2继承 Object

实现接口Serializable,CharSequence,Appendable

StringBuffer/StringBuilder没有compareTo方法

StringBuffer/StringBuilder含有一个String没有的方法 append();拼接

3.特性

可变字符串   char[] value;  动态扩容

 

 

 

StringBuffer()

StringBuffer(String str)

StringBuffer(int capacity)

 

StringBuilder-java.lang

线程不安全。

 简单内容

1.所属的包  java.lang包

2继承 Object 

实现接口Serializable,CharSequence,Appendable

StringBuffer/StringBuilder没有compareTo方法

StringBuffer/StringBuilder含有一个String没有的方法 append();拼接

3.特性

可变字符串   char[] value;  动态扩容

对象的构建

 

 

 

//无参数构造方法  构建一个默认长度16个空间的对象  char[]。

StringBuilder builder = new StringBuilder();

//利用给定的参数 构建一个自定义长度空间的对象 char[]

StringBuilder builder = new StringBuilder(20);

//利用带String参数的构造方法  默认数组长度字符串长度+16个

StringBuilder builder = new StringBuilder(“abc”);(19个长)

常用方法

最主要的方法 append()  频繁的拼接字符串的时候使用此方法 提高性能

ensureCapacity(int minimumCapacity)  确保底层数组容量够用

capacity();//字符串底层char[]的容量

length();//字符串有效元素个数(长度)

setLength();//设置字符串的有效元素个数

char = charAt(int index);

int = codePointAt(int index);

String = substring(int start [,int end]);

注意需要接受返回值 看见截取出来的新字符串效果

StringBuilder = delete(int start [,int end]);

StringBuilder类中独有的方法String类没有

将start到end之间的字符串删掉  不用接受返回值就看到效果啦

StringBuilder = deleteCharAt(int index);

String类中没有的方法

将给定index位置的某一个字符删除掉啦

int = indexOf(String str [,int fromIndex]);

int = lastIndexOf(String str [,int fromIndex])

    找寻给定的str在字符串中第一次出现的索引位置  带重载 则从某一个位置开始找

reserve():字符串反转。

 

 

二者区别:线程安全不安全问题。

posted @ 2020-11-09 15:10  我多想让过去重来  阅读(162)  评论(0)    收藏  举报