24 String、StringBuffer与StringBuilder快速上手


📖博主介绍


个人主页: Zinksl
编程社区: Zinksl编程酒馆
个人格言: 想法落实的最佳时机就是现在!🏄

如果你 喜欢交流热爱分享欢迎加入编程社区交流群 大家一起学习技术,交流心得,共同进步🚅


在这里插入图片描述

1 🚩String详解

1.1🏃🏻 String类的构造器很多,常用的有:

String st1 = new String();
String st2 = new String(String orginal);
String st3 = new String(char [] a );
String st4 = new String(char [] a ,int starIndext,int count);
String st5 = new String(byte [] a);

1.2🏃🏻 String有private final byte[] value;属性用于存放字符串

这里被final修饰说明value的地址不可修改,但是值可以替换;

1.3 🏃🏻String 常用方法

方法名说明
String toUpperCase()将小写字母转换为大写,返回值类型为String
String toLowerCase()将大写字母转换为小写,返回值类型为String
char [] toCharArray()将字符串换为字符数组,返回值类型为字符数组

2 🚩StringBuffer详解

💡概念:StringBuffer,是可变长度可对字符串进行增删的一个容器;

(1)直接父类是:AbstractStringBuilder
(2)实现了Serializable,说明StringBuffer也可以串行化;
(3)在父类AbstractStringBuilder中的属性 char[] 不是final
(4)StringBuffer也是一个final类,也就是说不能被继承

2.1🏃🏻 StringBuffer的构造器

①StringBuffer();
构造一个不带字符的,字符串缓冲区,初始容量为16个字符;
②StringBuffer(int capacity)
构造给不带字符的,但可以指定容量大小的字符串缓冲区
③StringBuffer(String str)
通过给一个String创建StringBuffer,char [] 大小等于,字符串.length +16;

2.2🏃🏻 String 与StringBuffer之间的转换;

(1) String =》 StringBuffer
①使用构造器【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer("这里是字符串对象");
    }
}

②使用StringBuffer中的append方法【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
        buffer = buffer.append("字符串对象");
    }
}

(2)StringBuffer =》String
①使用toString方法【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
    }
}

②使用String的构造器把StringBuffer转Sting【代码示例】:

public class StringBufferDemo {
    public static void main(String[] args) {
        StringBuffer buffer = new StringBuffer();
//        字符串转StringBuffer
        buffer = buffer.append("字符串对象");
//        StringBuffer通过toString方法,转字符串
        String temp = buffer.toString();
//        StringBuffer通过String构造器为转字符串
        String s = new String(buffer);

    }
}

2.3🏃🏻StringBuffer的常用方法

StringBuffer append(String str)添加方法
StringBuffer delete(int star,int end)删除 从star到end的字符【索引从0开始,包左不包右】
StringBuffer replace(int star,int end,String str);替换 从star到end的字符【索引从0开始,包左不包右】
int indexOf(String str)查找子串在字符串中第一次出现的索引,没找到返回-1
StringBuffer insert(int index,String str);插 在指定的索引位置插入字符串
int length()返回StringBuffer长度

3 🚩StringBuilder

【提要:】StringBuilder与StringBuffer的使用方法一样

1 如果字符串存在大量修改操作,一般使用StringBuffer或者StringBuilder
2 如果字符串存在大量修改操作,且单线程,使用StringBuilder
3 如果字符串存在大量修改操作,且多线程,使用StringBuffer
4 如果字符串很少修改,被多个对象引用,使用String,比如配置信息

结尾彩蛋

认真分享技术,记录学习点滴若内容对你有用可以鼓励一下🍻方式如下
点赞:👍 留言:✍收藏:⭐️

如有疑问欢迎评论区留言,或加入技术交流群:1002743802
关注我订阅专栏,会持续体系化更新哦👈

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Zinksl

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

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

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

打赏作者

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

抵扣说明:

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

余额充值