AJPFX关于JAVA StringBuffer的用法总结

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。
1、StringBuffer对象的初始化
StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。
例如:
StringBuffer s = new StringBuffer();
这样初始化出的StringBuffer对象是一个空的对象,就是我犯的错误。
如果需要创建带有内容的StringBuffer对象,则可以使用:
StringBuffer s = new StringBuffer(“abc”);
这样初始化出的StringBuffer对象的内容就是字符串”abc”。
需要注意的是,StringBuffer和String属于不同的类型,也不能直接进行强制类型转换,下面的代码都是错误的:
StringBuffer s = “abc”; //赋值类型不匹配
StringBuffer s = (StringBuffer)”abc”; //不存在继承关系,无法进行强转
StringBuffer对象和String对象之间的互转的代码如下:
String s = “abc”;
StringBuffer sb1 = new StringBuffer(“123”);
StringBuffer sb2 = new StringBuffer(s); //String转换为StringBuffer
String s1 = sb1.toString(); //StringBuffer转换为String
2、StringBuffer的常用方法
StringBuffer类中的方法主要偏重于对于字符串的变化,例如追加、插入和删除等,这个也是StringBuffer和String类的主要区别。
a、append方法
public StringBuffer append(boolean b)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接。调用该方法以后,StringBuffer对象的内容也发生改变,例如:
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
这样对象sb的值就是字符串“select * from userInfo where username=test and pwd=123”。
b、deleteCharAt方法
public StringBuffer deleteCharAt(int index)
该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串。例如:
StringBuffer sb = new StringBuffer(“Test”);
sb. deleteCharAt(1);
该代码的作用删除字符串对象sb中索引值为1的字符,也就是删除第二个字符,剩余的内容组成一个新的字符串。所以对象sb的值变为”Tst”。
还存在一个功能类似的delete方法:
public StringBuffer delete(int start,int end)
该方法的作用是删除指定区间以内的所有字符,包含start,不包含end索引值的区间。例如:
StringBuffer sb = new StringBuffer(“TestString”);
sb. delete (1,4);
该代码的作用是删除索引值1(包括)到索引值4(不包括)之间的所有字符,剩余的字符形成新的字符串。则对象sb的值是”TString”。
c、insert方法
public StringBuffer insert(int offset, boolean b)
该方法的作用是在StringBuffer对象中插入内容,然后形成新的字符串。例如:
StringBuffer sb = new StringBuffer(“TestString”);
sb.insert(4,false);
该示例代码的作用是在对象sb的索引值4的位置插入false值,形成新的字符串,则执行以后对象sb的值是”TestfalseString”。
d、reverse方法
public StringBuffer reverse()
该方法的作用是将StringBuffer对象中的内容反转,然后形成新的字符串。例如:
StringBuffer sb = new StringBuffer(“abc”);
sb.reverse();
经过反转以后,对象sb中的内容将变为”cba”。

对String类型数据进行合并操作 对String类型数据进行合并处理 阅读详情

相关推荐

javaSE - StringBuffer 和 StringBuilder(字符串拼接)

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

ryy1999的博客 1029

StringBuffer详解

我们学习StringBuffer 之前先查一下一些定义,先做个简单的了解 可以看出,StringBuffer的功能确实是很强大哦 那么我们怎么创建StringBuffer呢?又怎么赋值呢? StringBuffer类的构造方法 public StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 public StringBuffer(int cap...

黄文孝同学的博客 4万+

StringBuffer类的使用方法详解:打造高效字符串操作

Java开发中,字符串是一个重要的数据类型。字符串可以用于数据存储、传递和显示。在Java中,字符串可以用String类来表示,但是String类具有不可变性,每次修改都会创建一个新的字符串对象,这对于频繁修改字符串的操作来说效率较低。因此引入了StringBuffer类,它是可变的,可以修改字符串的内容,其效率更高。本文主要介绍Java中的StringBuffer类,包括该类的功能、源代码解析、应用场景案例、优缺点分析、类代码方法介绍以及测试用例。全文通过markdown语法书写,并且全文内容衔接清晰。

喵手的博客 1942

黑马程序员__Java中API之StringBuffered

------- android培训、java培训、期待与您交流! ---------- StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。 1、StringBuffer对象的初始化 StringBuffer

xy_xb的博客 779

AJPFX关于StringBuffer,StringBuilder类 总结(一)

StringBuffer,StringBuilder类 StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 StringBuffer:概述 用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的, 为了解决这个问题,Java就提供了 一个字符串缓冲区类。StringBuffer供我们使用。 StringBuffer...

AJPFX的博客 179

AJPFX关于StringBuffer类的总结

StringBuffer类一、字符串缓冲区,是一个容器。没有子类不能继承。特点:长度可变化;可操作多个数据类型;可通过toString()变成字符串。二、存储方法1、StringBuffer append();将指定数据添加到已有数据结尾处。没byte、short的重载StringBuffer sb = new StringBuffer();sb.append(34).append(“abc”)....

weixin_34087301的博客 61

Cortex-M内核升维与MCU AI落地实战指南

Cortex-M微控制器已从传统执行单元演进为具备TrustZone安全机制、MVE向量扩展和硬件信任根的可信计算节点。其架构升级带来启动流程重构、指令集范式转移与安全边界物理化等深层变化,直接影响嵌入式开发者的启动代码编写、编译器选型及AI模型部署策略。Arm Compiler 6与CMSIS-Build构建系统成为支持MVE和Secure/NS世界切换的必要工具链,而MCU级AI落地的关键不在模型压缩,而在数据通路设计、低功耗推理调度与硬件加速器同RTOS的深度耦合。本文聚焦真实产线场景,解析STM32

weixin_33829657的博客 323

AJPFX关于StringBuffer,StringBuilder类总结(二)

StringBuffer,StringBuilder类 总结2 需要注意的知识点: 1): // String – >StringBuffer String s = “hello”; // 注意:不能把字符串的值直接赋值给StringBuffer // StringBuffer sb = “hello”; // StringBuffer sb = s; // 方式1:通过构造方法 Strin...

AJPFX的博客 166

AJPFX简述JavaStringBuffer方法

以下是StringBuffer类支持的主要方法: 序号 方法描述 1 public StringBuffer append(String s) 将指定的字符串追加到此字符序列。 2 public StringBuffer reverse() 将此字符序列用其反转形式取代。 3 public delete(int start, int end) 移除此序列的子字符串中的字符。 4 public in...

AJPFX的博客 213

AJPFX浅谈Java 性能优化之字符串过滤实战

★一个简单的需求  首先描述一下需求:给定一个 String 对象,过滤掉除了数字(字符'0'到'9')以外的其它字符。要求时间开销尽可能小。过滤函数的原型如下: String filter(String str);  针对上述需求,俺写了5个不同的过滤函数。为了叙述方便,函数名分别定为 filter1 到 filter5。其中 filter1 性能最差、filter5 性能最好。在看后续的内容之...

weixin_33704234的博客 120

Java StringBuffer和StringBuilder类

StringBuffer类创建字符串 初始化: new StringBuffer();创建一个空的字符缓冲区,初始化长度为16个字符容量。 new StringBuffer(int length);创建一个空的字符串缓冲区,初始化长度为length个字符容量。 new StringBuffer(String str);创建一个初始化为str的字符缓冲区,初始化长度为16个字符容量。 StringBuffer()构造函数的示例: public class dome2{ public static v

yc_1314的博客 480

StringBuffer的介绍

StringBuffer: 可以允许修改的字符序列。new Stringbuffer()的时候,默认分配16个字符的字符缓存区。需要修改字符序列的内容或者长度,一般有append、inset方法可以修改字符序列的内容与长度 1.说明 当字符串需要进行修改的时候,特别是字符串经常改变的情况下,就可以使用StringBuffer。原因:如果使用String 进行修改操作的话,那么堆内存中会保留大量多余的对象在内存中,可能会造成线程执行效率低,极大影响了程序的性能问题。 2.特点 2.1.线程安全

qq_39897446的博客 642

文件操作和IO流

目录📃 认识文件📃文件的分类📃关于目录结构📃文件的地址📃 绝对路径和相对路径 📃 认识文件 官方定义:计算机文件属于文件的一种,与普通文件载体不同,计算机文件是以计算机硬盘为载体存储在计算机上的信息集合。文件可以是文本文档、图片、程序等等。文件通常具有点+三个字母的文件扩展名,用于指示文件类型(例如,图片文件常常以 JPEG 格式保存并且文件扩展名为 .jpg)。 但是,我们一般会认为,我们平常写的word文档,文件夹📁,把这些当作问价,但是除了这些,我们往往会疏漏一个重要的文件那就是目录,也是一个重要的

weixin_48796138的博客 1067

java新建stringbuffer_详解JavaStringBuffer类常用方法

String是不变类,用String修改字符串会新建一个String对象,如果频繁的修改,将会产生很多的String对象,开销很大.因此java提供了一个StringBuffer类,这个类在修改字符串方面的效率比String高了很多。在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作,不可变类。3.StringBuffer 也是...

weixin_42177768的博客 879

常见对象(StringBuffer拼接练习案例一)

方式一 利用:用String功能做拼接 package day13; //把数组拼接成指定格式的字符串 public class StringBufferDemo5 { public static void main(String[] args) { //首先定义一个数组 int [] arry = {22,33,44,55,77}; //定义功能 //方式1----用String做拼接的方式 St...

qq_52619902的博客 468

StringBuffer

一.    StringBuffer 1.  构造方法 1.  public StringBuffer()构造一个不带字符的字符串缓冲区,其初始容量为16个字符。 2.  public StringBuffer(int capacity)构造一个不带字符的字符串缓冲区,但其初始容量为指定容量。 3.  public StringBuffer(String str)构造一个字符串缓冲区,但为

Ayuba123的博客 486

StringBuffer类详解

StringBuffer类详解 在 Java中,除了通过 String 类创建和处理字符串之外,还可以使用 StringBuffer 类来处理字符串。StringBuffer 类可以比 String 类更高效地处理字符串。 因为 StringBuffer 类是可变字符串类,创建 StringBuffer 类的对象后可以随意修改字符串的内容。每个 StringBuffer 类的对象都能够存储指定容量的字符串,如果字符串的长度超过了 StringBuffer 类对象的容量,则该对象的容量会自动扩大。 创建Str

淮宁湾的博客 1972
上一篇: AJPFX关于Collection 集合的表述
下一篇: AJPFX简述可变参数概述和使用
AJPFX
博客等级 码龄7年 4粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值