首页 > 其他分享 >常用类--StringBuffer

常用类--StringBuffer

时间:2024-09-28 22:00:37浏览次数:7  
标签:常用 String -- StringBuffer System println public out

StringBuffer: 可变的字符序列,可以看作一个存储字符的一个容器

构造方法:

        public StringBuffer()
        public StringBuffer(int capacity)
        public StringBuffer(String str)
点击查看代码
public class StringBufferDemo1 {
    public static void main(String[] args) {
        //public StringBuffer() 创建默认大小的StringBuffer容器
        StringBuffer sb1 = new StringBuffer();
//        //获取默认StringBuffer容器的大小
        System.out.println("StringBuffer默认的容量大小为:" + sb1.capacity()); // 16
//        System.out.println("sb1: " + sb1);
        System.out.println("StringBuffer实际存储字符数量:"+ sb1.length()); // 0

        //public StringBuffer(int capacity) 创建指定大小容量的StringBuffer
        StringBuffer sb2 = new StringBuffer(50);
        System.out.println("StringBuffer默认的容量大小为:" + sb2.capacity()); // 50
        System.out.println("sb1: " + sb2);
        System.out.println("StringBuffer实际存储字符数量:" + sb2.length()); // 0

        //public StringBuffer(String str) 创建默认大小的StringBuffer容器,其中存储了一个字符串
        StringBuffer sb3 = new StringBuffer("hello");
        System.out.println("StringBuffer默认的容量大小为:" + sb3.capacity()); // 21
        System.out.println("sb1: " + sb3);
        System.out.println("StringBuffer实际存储字符数量:" + sb3.length()); // 5
    }
}

** StringBuffer中的成员方法:**

        添加功能
            public StringBuffer append(String str)
            public StringBuffer insert(int offset,String str)
        删除功能
            public StringBuffer deleteCharAt(int index)
            public StringBuffer delete(int start,int end)
        替换功能
            public StringBuffer replace(int start,int end,String str)
        反转功能
            public StringBuffer reverse()
        添加功能
            public StringBuffer append(String str)
            public StringBuffer insert(int offset,String str)

1.public StringBuffer append(String str) 在StringBuffer末尾处添加新的字符串

点击查看代码
//public StringBuffer append(String str) 在StringBuffer末尾处添加新的字符串
//        StringBuffer sb2 = sb.append(100);
//        System.out.println("sb: "+sb);
//        System.out.println("sb2: "+sb2);
//        System.out.println(sb==sb2);
        sb.append(100);
        sb.append(12.343);
        sb.append(true);
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

2.public StringBuffer insert(int offset,String str) 在StringBuffer指定位置中添加字符串

点击查看代码
        //public StringBuffer insert(int offset,String str) 在StringBuffer指定位置中添加字符串
        //10012.343true
        sb.insert(10,"java");
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

3.public StringBuffer deleteCharAt(int index) 指定索引删除StringBuffer某一个字符

点击查看代码
        //public StringBuffer deleteCharAt(int index) 指定索引删除StringBuffer某一个字符
        //10012.343tjavarue
        sb.deleteCharAt(5);
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

4.public StringBuffer delete(int start,int end) 指定开始和结束索引,删除StringBuffer一部分字符

点击查看代码
        //public StringBuffer delete(int start,int end) 指定开始和结束索引,删除StringBuffer一部分字符
        //10012343tjavarue
        sb.delete(9,13); //[start, end)
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

5.public StringBuffer replace(int start,int end,String str) 使用字符串替换StringBuffer一部分字符

点击查看代码
        //public StringBuffer replace(int start,int end,String str) 使用字符串替换StringBuffer一部分字符
        //10012343true
        sb.replace(6,9,"李刚");
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

6.public StringBuffer reverse()反转功能

点击查看代码

        //public StringBuffer reverse()
        //100123李刚rue
        sb.reverse();
        System.out.println("sb: " + sb);
        System.out.println("------------------------");

    截取功能
    public String substring(int start)
    public String substring(int start,int end)

点击查看代码
public class StringBufferDemo3 {
    public static void main(String[] args) {
        StringBuffer sb1 = new StringBuffer("hello world java hadoop");

        //public String substring(int start)
        String s1 = sb1.substring(4);
        System.out.println("sb1: "+sb1);
        System.out.println("s1: "+s1);

        //public String substring(int start,int end)
        String s2 = sb1.substring(6, 11);
        System.out.println("sb1: "+sb1);
        System.out.println("s2: "+s2);

    }
}
    String和StringBuffer的相互转换

    数据类型之间相互转换的场景:
    1、方法传参所需的类型与我自己值的类型不一样
    2、需要借助其它类型中的方法完成某功能
点击查看代码
public class StringBufferDemo4 {
    public static void main(String[] args) {
        String s1 = "hello";
        //String -> StringBuffer
        StringBuffer sb1 = new StringBuffer(s1);


        //StringBuffer->String
        String s2 = sb1.substring(0);
        String s3 = sb1.toString();
    }
}

标签:常用,String,--,StringBuffer,System,println,public,out
From: https://www.cnblogs.com/wangxiaojian-lina/p/18438494

相关文章

  • MySQL为什么使用B+树以及什么是覆盖索引和回表
    目录B+树什么是B+树B+树的特性        节点有序性        数据聚集性        查询稳定性        高扇出性MySQL为什么选择B+树        从范围查询的角度        从插入和删除的角度        从磁盘I/O的角......
  • 开题报告-毕设如何选题-计算机视觉项目大集合(图像分类+目标检测+目标跟踪+姿态识别+
    #毕设选题-开题报告-计算机视觉项目大集合计算机视觉项目大集合yolo系列及创新点和应用(测距测速等):改进的yolo目标检测-测距测速图像去雨去雾+目标检测+测距项目交通标志识别项目yolo系列-重磅yolov9界面-最新的yoloyolov8双目测距-yolov8+sgbm(原理+代码)yolov5......
  • 猜拳数据集-石头-剪刀-布数据集-YOLOv9 - YOLOv8 - YOLOv5 - YOLOv7 - COCO JSON - YO
    “石头-剪刀-布”计算机视觉项目是一个利用摄像头捕捉手势并识别出手势是石头、剪刀还是布的项目。这类项目通常用于学习和展示计算机视觉技术,如图像处理、特征提取以及机器学习或深度学习模型的应用。数据介绍rock-paper-scissorsComputerVisionProject数据集信息......
  • 调用YOLOv8所需的pytorch环境配置
    第一步:创建conda虚拟环境(切记不要“科学上网”)依赖库的要求Python>=3.8,PyTorch>=1.8.1.创建虚拟环境后,首先安装了python=3.10:condainstallpython==3.10 2.运行pipinstallultralyticsPyTorch>=1.83.卸载由于第二步直接安装的组件pip3uninstalltorchtorchvision......
  • Windows系统+PyCharm IDE中python-cuda配置步骤
    0.我的主机“码头”所使用的GPU型号为NVIDIAGeForceRTX3070;在pycharm中,常用Anacondaprompt创建虚拟环境;1.解决思路:从根本上出发:GPU、项目对pytorch的版本要求是否兼容下面记录安装python和torch后如何配置cuda和cudnn。2.首先,使用shell查看shell:nvidia-smi#显......
  • MySQL 之多表设计详解
    在实际应用场景中,我们经常需要处理包含多种数据实体及其之间复杂关系的业务逻辑,例如电商平台的用户、商品、订单,社交网络的用户、帖子、评论等等。如果将所有数据都堆砌在一张表中,不仅会造成数据冗余、难以维护,还会严重影响查询效率。为了解决这些问题,我们需要采用多表设计,即......
  • MySQL 数据类型详解
    在MySQL数据库中,数据类型的选择对性能和存储效率有着至关重要的影响。选择正确的数据类型可以最大限度地利用资源,并提高查询速度。一、数值类型详解数值类型用于存储数字数据,根据数据范围和精度需求,MySQL提供多种整数和浮点数类型。1.整数类型类型大小(字节)范围性能用途......
  • Matlab2022a安装教程,Matlab安装包详细安装教程
    Matlab2022a安装教程,Matlab安装包详细安装教程MatlabR2022a安装教程:1、解压缩下载好的文件,打开文件夹2、右击“R2022a_Windows.iso”,选择“装载”,或者直接双击打开3、右击“setup.exe”,选择“以管理员身份运行”4、点击“高级选项”,选择“我有文件安装密钥”5、......
  • 【qt】QQ仿真项目1
    一览全局:QQ仿真项目一.创建项目添加资源文件二.创建数据库三.自定义标题栏Qt类四.加载样式表标题栏按钮的搭配五.标题栏实现移动窗体六.标题栏按钮连接信号槽七.标题栏双击最大化和还原八.基类窗口实现标题栏按钮信号九.重写基类窗口绘图事件确保设置样式表生效十.用......
  • 《Linux从小白到高手》理论篇(三):vi/vim编辑器和Linux文件处理“三剑客”(sed/grep/awk)
    Listitem本篇介绍vi/vim编辑器和Linux文件处理“三剑客”(sed/grep/awk),这5个工具命令可能是Linux最最常用的,而且功能超级强大。vi/vimvi和vim的基本介绍所有的Linux系统都会内建vi文本编辑器。Vim具有程序编辑的能力,可以看做是Vi的增强版本,可以主动的以字体颜色辨......