• 【JavaSE】String类(下篇)


    hello,进来的小伙伴们,你们好呐!

    系列专栏:【JavaSE】

    本篇内容:StringBuffer和StringBuider的详解介绍,学会这大类,玩转String——OJ题!

    作者简介:一名大二即将升大三的科班编程小白,我很平凡,学会努力!

    给大家介绍一款超级好用的网站——牛客网!

    点击链接注册,开启刷题之路叭!

     

    一、相关用法

    String和StringBuilder最大的区别在于String的内容无法修改,而StringBuilder的内容可
    以修改。频繁修改字符串的情况考虑使用StringBuilder。

    方法1.StringBuff append(Stringstr)

    功能:在尾部追加,相当于String的+=,可以追加:boolean、char、char[]、
    double、float、int、long、Object、String、StringBuff的变量。

    1. public class Test1 {
    2. public static void main(String[] args) {
    3. StringBuilder s1 = new StringBuilder("hello");
    4. s1.append("java");
    5. System.out.println(s1);
    6. }
    7. }

    方法2.void setCharAt(int index,char ch)。

    功能:将index位置的字符设置为ch。

    1. public class Test1 {
    2. public static void main(String[] args) {
    3. StringBuilder s1 = new StringBuilder("hello");
    4. s1.append("java");
    5. s1.setCharAt(0,'H');
    6. System.out.println(s1);
    7. }
    8. }

     

     方法3.StringBuff insert(intoffset, String str)

    功能:在offset位置插入:八种基类类型 & String类型 & Object类型数据。

    1. StringBuilder s1 = new StringBuilder("hello");
    2. s1.append("java");
    3. s1.insert(5,' ');
    4. System.out.println(s1);

    注意:我们这里在hellojava之间插入了一个空格。

    方法4:StringBufferdeleteCharAt(int index)

    功能:删除index位置字符。

    1. StringBuilder s1 = new StringBuilder("hello");
    2. s1.append("java");
    3. s1.deleteCharAt(0);
    4. System.out.println(s1);

    方法5.StringBuffer delete(intstart, int end)

    功能:删除[start, end)区间内的字符。(注意左闭右开)

    1. StringBuilder s1 = new StringBuilder("hello");
    2. s1.append("java");
    3. s1.delete(0,5);
    4. System.out.println(s1);

     方法6.StringBuffer reverse()

    功能:反转字符串。

    1. StringBuilder s1 = new StringBuilder("hello");
    2. s1.append("java");
    3. s1.reverse();
    4. System.out.println(s1);

    注意:String和StringBuilder类不能直接转换。如果要想互相转换,可以采用如下原则:
    String变为StringBuilder: 利用StringBuilder的构造方法或append()方法。
    StringBuilder变为String: 调用toString()方法。 

    二、面试题

    1. String、StringBuffer、StringBuilder的区别
    String的内容不可修改,StringBuffer与StringBuilder的内容可以修改。
    StringBuffer与StringBuilder大部分功能是相似的。
    StringBuffer采用同步处理,属于线程安全操作;而StringBuilder未采用同步处理,属于线程不安全操作。

  • 相关阅读:
    Ubuntu Linux adb shell
    Go微服务框架及基础平台选择
    在服务器 和 虚拟机中 查看代码 samba source insight
    wordpress模板购买网站推荐
    刷题——Python篇(3)字符串
    《Qt-OpenGL系列编程》课程学习记录(10):冯氏光照模型
    MCU常见通信总线串讲(二)—— RS232和RS485
    PMP每日一练 | 考试不迷路-8.23(包含敏捷+多选)
    医会宝APP登录体验
    Redis源码解析-通信协议
  • 原文地址:https://blog.csdn.net/m0_62426532/article/details/126533656