开发者社区> 张起灵-小哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Java——StringBuffer类中常用方法的总结

简介: Java——StringBuffer类中常用方法的总结
+关注继续查看

1.StringBuffer类简介


在 Java 语言中,由于 String 类是final 类型的,所以使用 String 定义的字符串是一个常量,因此它一旦创建,其内容和长度是不可改变的。如果需要对一个字符串进行修改,则只能创建新的字符串。

解决方法:可以使用 StringBuffer 类(也称字符串缓冲区)来操作字符串。


说明:StringBuffer 类和 String 类最大的区别在于它的内容和长度都是可以改变的。StringBuffer 类似一个字符容器,当在其中添加或删除字符时,所操作的都是这个字符容器,因此并不会产生新的 StringBuffer 对象。


2.StringBuffer类的初始化方式 


2.1 使用StringBuffer类的构造方法初始化字符串对象  

StringBuffer 变量名=new String(字符串);


2.2 借助String类来创建StringBuffer类对象


下面这种方法是错误的:👇👇👇 


StringBuffer s="abc";


String 类和 StringBuffer 类是两个不相同的类,这里的,但是我们可以采用下面的方法进行转换: 


1. String s="abc";
2. StringBuffer s5=new StringBuffer(s);

 

3.StringBuffer类中常用的方法 


3.1 概念理解 

image


3.2 应用举例(一定要仔细看完,理解每一个常用并且重要的方法)


public class Study {
    public String toString() {//重写Object类中toString()方法
        return getClass().getName();
    }
    public static void main(String[] args) {
        StringBuffer s1=new StringBuffer("abcd1234!?,;");
        StringBuffer s2=new StringBuffer("987654321987654");
        StringBuffer s3=new StringBuffer("987654321");
        System.out.println("↓↓↓StringBuffer类的一些常用方法如下↓↓↓");
        System.out.println("-----------------------------------------------------");
        System.out.println("字符串s1的长度为:" + s1.length());//返回字符串的实际长度
        System.out.println("-----------------------------------------------------");
        System.out.println("字符串s1所占容器的大小为:" + s1.capacity());//返回字符串所占容器的总大小
        System.out.println("-----------------------------------------------------");
        System.out.println("获取字符串s1中第2个位置的字符:" + s1.charAt(2));
        System.out.println("-----------------------------------------------------");
        System.out.println("子字符串'654'第一次出现在字符串s2中的索引为:" + s2.indexOf("654"));
        System.out.println("从指定的索引6开始搜索,返回子字符串'654'第一次出现在字符串s2中的索引:" + s2.indexOf("654",6));
        System.out.println("-----------------------------------------------------");
        System.out.println("子字符串'987'最后一次出现在字符串s2中的索引为:" + s2.lastIndexOf("987"));
        System.out.println("从指定的索引5开始反向搜索,返回字符串'87'在字符串s2中最后一次出现的索引:" + s2.lastIndexOf("87",5));
        System.out.println("-----------------------------------------------------");
        s1.append('x');//在字符串s1的末尾添加字符'c'
        s1.append("Java");//在字符串s1的末尾添加字符串"Java"
        System.out.println("修改后的字符串s1为:" + s1);
        System.out.println("-----------------------------------------------------");
        s1.insert(4,"abcd");//在第4个位置插入字符串"abcd"
        System.out.println("修改后的字符串s1为:" + s1);
        System.out.println("-----------------------------------------------------");
        s1.deleteCharAt(1);//删除字符串s1中第一个位置的字符
        s1.delete(2,5);//删除字符串s1中第2到第4个位置的字符
        System.out.println("修改后的字符串s1为:" + s1);
        System.out.println("-----------------------------------------------------");
        s1.replace(4,8,"5678");//将字符串s1中第4到第7个位置的字符串修改为"5678"
        System.out.println("修改后的字符串s1为:" + s1);
        System.out.println("-----------------------------------------------------");
        s1.setCharAt(1,'b');//将字符串s1中第一个位置的字符修改为'b'
        System.out.println("修改后的字符串s1为:" + s1);
        System.out.println("-----------------------------------------------------");
        s2.reverse();//将字符串s2反转
        System.out.println("修改后的字符串s2为:" + s2);
        System.out.println("-----------------------------------------------------");
        System.out.println("截取字符串s1从第4个位置开始到结尾:" + s1.substring(4));
        System.out.println("-----------------------------------------------------");
        System.out.println("截取字符串s1从第4个位置开始到第7个位置结尾:" + s1.substring(4,8));
        System.out.println("-----------------------------------------------------");
        System.out.println("获取s1的变量类型:" + s1.getClass().getName());
        System.out.println("将对象信息转化为字符串:" + s2.toString());
    }
}


image

代码块中的方法就是博主总结的 Java 语言中 StringBuffer 类的一些常用方法,当然了,StringBuffer 类的方法远不止这些,至于其他的,在这里就不一一介绍了,大家有兴趣了话,可以去了解学习!!!😁😁😁 




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
不用任何框架,Java 就能实现定时任务的 3 种方法!
1、 sleep 这也是我们最常用的 sleep 休眠大法,不只是当作休眠用,我们还可以利用它很轻松的能实现一个简单的定时任务。
71 0
java之用反射实现方法(已知实体对象和实体参数)
java之用反射实现方法(已知实体对象和实体参数)
43 0
java之wait()、notify()实现非阻塞的生产者和消费者
java之wait()、notify()实现非阻塞的生产者和消费者
80 0
遗传算法的基本概念和实现,附Java实现案例!
基因遗传算法是一种灵感源于达尔文自然进化理论的启发式搜索算法。该算法反映了自然选择的过程,即最适者被选定繁殖,并产生下一代。本文简要地介绍了遗传算法的基本概念和实现,希望能为读者展示启发式搜索的魅力。_
81 0
Java 实现滑动时间窗口限流算法,你见过吗?
网上搜滑动时间窗口限流算法,大多都太复杂了,本人实现了个简单的,先上代码:
59 0
Java 技术篇-使用poi开源jar包实现读取excel实例演示,poi-3.17.jar获取
Java 技术篇-使用poi开源jar包实现读取excel实例演示,poi-3.17.jar获取
85 0
栈与队列之用java实现队列
栈与队列之用java实现队列
55 0
京东购物车的 Java 架构实现及原理!
今天来写一下关于购物车的东西, 这里首先抛出四个问题: 1)用户没登陆用户名和密码,添加商品, 关闭浏览器再打开后 不登录用户名和密码
239 0
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
80 0
Java 技术篇-利用ClipboardOwner实现实时监听剪切板功能实例演示
Java 技术篇-利用ClipboardOwner实现实时监听剪切板功能实例演示
123 0
833
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载