常见API——StringBuffer类知识点

本文详细介绍了StringBuffer类的特点和使用方法,包括构造方法、添加、删除、替换、反转及截取功能,并对比了String、StringBuffer与StringBuilder之间的区别。
StringBuffer类概述:线程安全的可变字符序列 
StringBuffer和String的区别:
String是一个不可变的字符序列

StringBuffer是一个可变的字符序列

StringBuffer的构造方法:
public StringBuffer():无参构造方法
public StringBuffer(int capacity):指定容量的字符串缓冲区对象
 public StringBuffer(String str):指定字符串内容的字符串缓冲区对象

public int capacity():返回当前容量。 理论值,容器的初始容量
public int length():返回长度(字符数)。 实际值,容器中的字符个数


StringBuffer的添加功能
 public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身

可以连续调用 例如sb.append("a").append("b")

StringBuffer是字符缓冲区,当new的适合是在堆内存创建了一个对象,底层是一个长度为16的字符数组。当调用添加的方法时,不会再重新创建对象,

会不断向原缓冲区添加字符
 public StringBuffer insert(int offset,String str): 在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身


StringBuffer的删除功能
public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身
public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身(删除的时候是包含头,不包含尾,比如填(0,2)就是删除前两个字符)

StringBuffer的替换功能
public StringBuffer replace(int start,int end,String str): 从start开始到end用str替换
StringBuffer的反转功能public StringBuffer reverse():字符串反转

StringBuffer的反转功能
public StringBuffer reverse():字符串反转

StringBuffer的截取功能
 public String substring(int start):从指定位置截取到末尾,返回的是String类型
public String substring(int start,int end): 截取从指定位置开始到结束位置,包括开始位置,不包括结束位置。返回的是String类型
注意事项:返回值类型不再是StringBuffer本身


String 和StringBuffer相互转化

String -- StringBuffer
 a:通过构造方法 比如构造方法public StringBuffer(String str)
b:通过append()方法
StringBuffer -- String
 a:通过String类构造方法(String(StringBuffer sb))
b:通过toString()方法
c:通过subString(0,length);


用StringBuffer把数组转成字符串比用String好,这样不会在常量池产生垃圾(根据两个类的性质)



StringBuffer和StringBuilder的区别
StringBuilder的概述:通过查看API了解一下StringBuilder类
面试题常见有:
StringBuffer和StringBuilder的区别
答:StringBuffer是jdk1.0版本的,是线程安全的,效率低;StringBuilder是jdk1.5版本的,是线程不安全的,效率高

String和StringBuffer,StringBuilder的区别
String是一个不可变的字符序列
StringBuffer,StringBuilder是可变的字符序列


形式参数问题
 String作为参数传递
StringBuffer作为参数传递 
B:案例演示:String和StringBuffer分别作为参数传递问题


冒泡排序实例:

冒泡排序:轻的上浮,沉的下降,两个相邻位置比较,如果前面的元素比后面的元素大就换位置

选择排序:用一个索引位置上的元素,依次与其他索引位置上的元素比较,小的在前面,大的在后面

如果某个方法,只针对本类使用,不想让其他类使用就可以定义成私有的


二分查找(折半查找)

前提:数组元素有序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值