StringBuilder类

简述StringBuilder类

与String的+操作一样,StringBuilder也能进行拼接,但它的拼接操作要比String的+操作效率要高,因为在JDK8及以后,String+操作的底层都是StringBuilder,String的+操作,没有一个单等赋值,底层就会创建一个StringBuilder对象,所以说StringBuilder的效率要比String+操作的效率要高。

StringBuilder的构造方法

public StringBuilder();

public class Test01 {
	public static void main(String[] args) {
        //使用无参数构造方法创建对象
        StringBuilder sb = new StringBuilder();
        System.out.println(sb);    //空白
}
}

public StringBuilder(String str);

public class Test01 {
	public static void main(String[] args) {
        //使用有参数构造方法创建对象
        String str = "aa";
        StringBuilder sb = new StringBuilder(str);
        System.out.println(sb);    //aa
}
}

StringBuilder的成员方法

StringBuilder append(Object obj);        //它的参数是Object任意类型的

public class Test01 {
	public static void main(String[] args) {

        StringBuilder sb = new StringBuilder();

        sb.append("aa");
        sb.append(11);

        System.out.println(sb);    //aa11
}
}

String toString();        //将StringBuilder类型转换为String类型

public class Test01 {
	public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        
        sb.append("aa");
        sb.append(11);
        
        String str = sb.toString();
        
        System.out.println(str);    //aa11
}
}

int length();        //获取长度

public class Test01 {
	public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        
        sb.append("aa");
        sb.append(11);
        
        int len = sb.length();
        
        System.out.println(len);    //4
}
}

StringBuilder delete(int start,int end);        //清空从start位置开始到end位置结束的数据,左闭右开

public class Test01 {
	public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        
        sb.append("aa");
        sb.append(11);
        
        StringBuilder sb1 = sb.delete(0,2);
        
        System.out.println(sb1);    //11
}
}

StringBuilder reverse();        //取反

public class Test01 {
	public static void main(String[] args) {
        StringBuilder sb = new StringBuilder();
        
        sb.append("ab");
        sb.append("cd");
        sb.append("ef");
       
        StringBuilder sb1= sb.reverse();
        
        System.out.println(sb1);    //fedcba
}
}

无参构造有默认的初始长度为16字符的数组,进行字符串拼接时,直接在数组内增加内容,数组长度不够时,StringBuilder 会自动扩容。

扩容的规则为:新数组长度 = 旧数组的长度*2+2。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值