java StringBuffer类

1.在java中,字符串使用String类进行表示,但是String类所表示的字符串有一个最大的问题:“字符串常量一旦声明则不可改变,而字符串对象可以改变,但是改变的是其内存地址的指向”.所以String类不适于被频繁修改的字符串操作上,在这种情况下可以使用StringBuffer类,而StringBuffer类方便用户进行内容修改,在String类中使用"+"作为数据库的连接操作,而StringBuffer类中使用append()方法进行数据的连接.

使用StringBuffer操作,StringBuffer的内容可以改变.
首先声明了一个StringBuffer类对象,而后使用append()方法进行了字符串数据的连接.由于StringBuffer对象的内容可以改变,所以在fun()方法中对其所做的修改会被保留.
在这里插入图片描述
开发中优先考虑String类
StringBuffer类主要用于频繁修改字符串的操作,但是在任何开发中,面对字符串的操作大部分情况下都先考虑String,只有小部分操作才考虑StringBuffer.

String类使用final定义,所以不可以被其他类继承.

String和StringBuffer都属于CharSequence接口的子类,那么就可以通过字符串为此接口实例化,虽然String和StringBuffer这两个类都是同一个接口的子类,不过这两个对象之间不能互相直接转型,必须按照两种类型的实例化对象的转换.
操作一:将String变为StringBuffer
方法一:直接利用StringBuffer类的构造方法,public StringBuffer(String str)

将String变为StringBuffer
在这里插入图片描述
利用StingBuffer类的append()方法
将String变为StringBuffer
在这里插入图片描述

将StringBuffer变为Sting,利用StringBuffer类的toString()方法完成.

在这里插入图片描述
StringBuffer除了可以改变内容这一特定外,同样定义了许多String类中所没有的方法,StringBuffer类中主要操作方法.
字符串反转操作,public StringBuffer reverse().

package class5;

public class TestDemo6 {
    public static void main(String[] args) {
        StringBuffer buffer=new StringBuffer();//实例化StringBuffer对象
        buffer.append("Hello World");//将String变为StringBuffer
        System.out.println(buffer.reverse());  //字符串反转
    }
}

替换指定范围内的数据,public StringBuffer replace(int start,int end,String str);

package class5;

public class TestDemo6 {
    public static void main(String[] args) {
        StringBuffer buffer=new StringBuffer();//实例化StringBuffer对象
        buffer.append("Hello World");//将String变为StringBuffer
        System.out.println(buffer.replace(6,12,"MLDN"));  //字符串替换
    }
}

在指定位置插入数据,public StringBuffer insert(int offset,数据类型 变量);

public class TestDemo6 {
    public static void main(String[] args) {
        StringBuffer buffer=new StringBuffer();//实例化StringBuffer对象
        buffer.append("Hello World").insert(0,"Hello");//连接并插入字符串
        System.out.println(buffer);  
    }
}
运行结果
Hello World

这三个方法是StringBuffer不存在的方法
String的内容不可改变,StringBuffer的内容可以改变,如需要对字符串数据进行频繁修改,只能使用StringBuffer类.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值