StringBuffer的用法

一、String是一个创建就不能改变的字符串,而String Buffer是一个可修改的字符串,在内存上是优于String。

线程安全,可变的字符序列。 字符串缓冲区就像一个String ,但可以修改。 在任何时间点,它包含一些特定的字符序列,但可以通过某些方法调用来更改序列的长度和内容。

字符串缓冲区可以安全地被多个线程使用。 这些方法在必要时进行同步,以便任何特定实例上的所有操作都按照与所涉及的各个线程所执行的方法调用顺序一致的顺序发生。

二、构造方法

StringBuffer sb = new StringBuffer("abcd");
StringBuffer sb1 = new StringBuffer(12);
System.out.println(sb.append(123));

三、方法(注意在这有几个与String不同,其余都是相同的。

package 构造方法及常用方法;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        //demo1();//构造方法
        //demo2();//append方法和insert方法
        //demo3();//删除字符串,以及清空字符串
        //demo4();//字符串的替换和反转
        //demo5();//字符串的截取,注意在这返回值类型是一个String类型的
        //demo6();//StringBuffer与String之间的转化
        //demo7();//通过StringBuffer反转字符串然后返回给string类型
    }

    private static void demo7() {
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        String str = reverse(s);
        System.out.println(str);
    }

    private static String reverse(String s) {
        StringBuffer s1 = new StringBuffer(s);
        s1.reverse();
        return s1.toString();
    }

    private static void demo6() {
        StringBuffer sb = new StringBuffer("woainiljh");
        String s1 = new String(sb);//通过stringBuffer转换为String类型的
        System.out.println(s1);

        String s2 = sb.toString();//通过toString的方法转换为String类型的
        System.out.println(s2);

        String s3 = sb.substring(0,sb.length());//通过截取的方式转换为String类型
        System.out.println(s3);
    }

    private static void demo5() {
        StringBuffer sb = new StringBuffer("woainiheima");
        String s1 = sb.substring(6);//字符串的截取功能
        System.out.println(s1);
    }

    private static void demo4() {
        StringBuffer sb = new StringBuffer("woainilanzhou");
        StringBuffer s1 = sb.replace(6,sb.length(),"beijing");//替换指定位置的字符串
        System.out.println(s1);
        sb.reverse();//字符串反转
        System.out.println(sb);
    }

    private static void demo3() {
        StringBuffer sb = new StringBuffer("我爱你中国~~~~");
        StringBuffer s1 = sb.delete(0,1);
        //System.out.println(s1);
        StringBuffer s2 = sb.delete(0, sb.length());//清空所有的字符串
        System.out.println(s2);
//        sb = new StringBuffer();//注意不能用这种方式清空字符串,这个相当于把原来的作为垃圾又重新创建了一个
//        System.out.println(sb);
    }

    private static void demo2() {
        StringBuffer sb = new StringBuffer();
        System.out.println(sb);
        StringBuffer sb1 = sb.append(true);
        System.out.println(sb1);
        StringBuffer sb2 = sb.append("heima");
        System.out.println(sb2);
        StringBuffer sb3 = sb.append(123);
        System.out.println(sb3);//注意在这就是一个字符串缓冲区,每次添加返回一个新添加的字符串
        StringBuffer sb4 = sb.insert(4, "woaini");
        System.out.println(sb4);//insert也有很多的重载方法
    }

    private static void demo1() {
    /*
    StringBuffer​() 构造一个没有字符的字符串缓冲区,初始容量为16个字符。
    StringBuffer​(int capacity) 构造一个没有字符的字符串缓冲区和指定的初始容量。
    StringBuffer​(CharSequence seq) 构造一个字符串缓冲区,其中包含与指定的 CharSequence相同的字符。
    StringBuffer​(String str) 构造一个初始化为指定字符串内容的字符串缓冲区。
     */
        StringBuffer sb = new StringBuffer("abcd");
        StringBuffer sb1 = new StringBuffer(12);
        System.out.println(sb.append(123));
    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奋斗的小巍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值