java中stringBuilder的用法

Vb6.0版StringBuilder 自动换行 【由 孤帆代码着色器1.1.0.0 着色】 孤帆Blog 前几个星期简单的研究了一下.net的StringBulider类.确实是一个很好的思想,用vb6.0实现了一下她的基本功能.写了3个版本2个自己分配内存版一个现在这个东西,经过多次的测试发现还是由vb6.0的功能来分配内存的效率还是比较高而且比较安全. OK!现在说说.net的StringBulider类的核心思想 阅读详情

String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。

通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");

设置容量和长度 
虽然 StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不应将它与当前 StringBuilder 对象容纳的字符串长度混淆在一起。例如,可以创建 StringBuilder 类的带有字符串“Hello”(长度为 5)的一个新实例,同时可以指定该对象的最大容量为 25。当修改 StringBuilder 时,在达到容量之前,它不会为其自己重新分配空间。当达到容量时,将自动分配新的空间且容量翻倍。可以使用重载的构造函数之一来指定 StringBuilder 类的容量。以下代码示例指定可以将 MyStringBuilder 对象扩充到最大 25 个空白。 
StringBuilder MyStringBuilder = new StringBuilder("Hello World!", 25);

另外,可以使用读/写 Capacity 属性来设置对象的最大长度。以下代码示例使用 Capacity 属性来定义对象的最大长度。 
MyStringBuilder.Capacity = 25;

EnsureCapacity 方法可用来检查当前 StringBuilder 的容量。如果容量大于传递的值,则不进行任何更改;但是,如果容量小于传递的值,则会更改当前的容量以使其与传递的值匹配。

也可以查看或设置 Length 属性。如果将 Length 属性设置为大于 Capacity 属性的值,则自动将 Capacity 属性更改为与 Length 属性相同的值。如果将 Length 属性设置为小于当前 StringBuilder 对象内的字符串长度的值,则会缩短该字符串。

修改 StringBuilder 字符串 
下表列出了可以用来修改 StringBuilder 的内容的方法。

方法名 使用 
StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。 
StringBuilder.AppendFormat 用带格式文本替换字符串中传递的格式说明符。 
StringBuilder.Insert 将字符串或对象插入到当前 StringBuilder 对象的指定索引处。 
StringBuilder.Remove 从当前 StringBuilder 对象中移除指定数量的字符。 
StringBuilder.Replace 替换指定索引处的指定字符。

Append 
Append 方法可用来将文本或对象的字符串表示形式添加到由当前 StringBuilder 对象表示的字符串的结尾处。以下示例将一个 StringBuilder 对象初始化为“Hello World”,然后将一些文本追加到该对象的结尾处。将根据需要自动分配空间。 
StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 
MyStringBuilder.Append(" What a beautiful day."); 
System.out.print(MyStringBuilder);

此示例将 Hello World! What a beautiful day. 显示到控制台。

AppendFormat 
AppendFormat 方法将文本添加到 StringBuilder 的结尾处,而且实现了 IFormattable 接口,因此可接受格式化部分中描述的标准格式字符串。可以使用此方法来自定义变量的格式并将这些值追加到 StringBuilder 的后面。以下示例使用 AppendFormat 方法将一个设置为货币值格式的整数值放置到 StringBuilder 的结尾。 
int MyInt = 25; 
StringBuilder MyStringBuilder = new StringBuilder("Your total is "); 
MyStringBuilder.AppendFormat("{0:C} ", MyInt); 
System.out.print(MyStringBuilder);

此示例将 Your total is $25.00 显示到控制台。

Insert 
Insert 方法将字符串或对象添加到当前 StringBuilder 中的指定位置。以下示例使用此方法将一个单词插入到 StringBuilder 的第六个位置。 
StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 
MyStringBuilder.Insert(6,"Beautiful "); 
System.out.print(MyStringBuilder);

此示例将 Hello Beautiful World! 显示到控制台。

Remove 
可以使用 Remove 方法从当前 StringBuilder 中移除指定数量的字符,移除过程从指定的从零开始的索引处开始。以下示例使用 Remove 方法缩短 StringBuilder。 
StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 
MyStringBuilder.Remove(5,7); 
System.out.print(MyStringBuilder);

此示例将 Hello 显示到控制台。

Replace 
使用 Replace 方法,可以用另一个指定的字符来替换 StringBuilder 对象内的字符。以下示例使用 Replace 方法来搜索 StringBuilder 对象,查找所有的感叹号字符 (!),并用问号字符 (?) 来替换它们。 
StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 
MyStringBuilder.Replace(’!’, ’?’); 
System.out.print(MyStringBuilder);

此示例将 Hello World? 显示到控制台。

getSqlMapClientTemplate().queryForList((new StringBuilder()).append(entityClass.getName()).append(".select").toString(), null);

Java字符串处理及StringBuilder的高效用法 本文介绍了Java中的字符串操作方法,包括字符串替换、大小写转换、去除空白和字符数组转换等。同时,详细探讨了StringBuilder类的构造函数、常用方法以及插入和删除操作,这些是处理动态字符串时不可或缺的工具。 阅读详情

相关推荐

基于微信小程序的扫码签到系统源码

大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具。代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。签到管理:新增签到,点击查看码展示二维码(有时效性)springboot mybatis 小程序。签到管理:查看用户创建的签到,可删除。用户管理:查看注册用户信息,及删除。签到记录:查看用户签到记录:可删除。个人信息:展示个人信息,可修改。统计分析:查看用户,签到数量。签到记录:查看用户签到记录。登录注册(含授权登录)我的签到:查看签到记录。

wfuhui的博客 5224

「msdn」StringBuilder 类

.NET Framework 开发员指南 使用 StringBuilder 类请参见基本字符串操作 | System.Text.StringBuilder语言C# Visual Basic 全部显示String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重...

aidunfu9905的博客 477

MobileNet V3 图像分类

MobileNet V3

Henry的博客 1768

StringBuilder的清除

大家知道对于字符串频繁拼接是使用stringbuilder.Append方法比使用string+=方法效率高很多,但有时需要清空stringbuilder时却不知道怎么清空,因为它没有clear或empty的方法。那用什么方法呢?在网上搜了一下大概一下三种方法。 1、Remove 例:             StringBuilder val = new StringBuilder()

田维常 9015

中职网络安全2021年国赛Wireshark流量分析题目解析

中职网络安全Wireshark流量分析题目解析

FRANXX_02的博客 6444

基于知识图谱的职位推荐系统的设计与实现

在职位推荐系统中,实体可以包括职位、公司、技能等,而关系可以包括职位与公司的关联、职位与技能的关联等。基于知识图谱的职位推荐系统可以提供更加智能和精确的职位推荐服务。通过收集和预处理数据构建知识图谱,并设计推荐算法和用户界面,可以实现一个完整的职位推荐系统。通过利用知识图谱技术,我们可以构建一个更加智能和精确的职位推荐系统。本文将介绍如何设计和实现基于知识图谱的职位推荐系统,并提供相应的源代码。通过定义实体和关系的节点和边,可以将数据存储在图数据库中,并建立它们之间的关系。

RiqaEditor的博客 1668

stringBuilder类与string类的区别

StringBuilder类与string类的区别 string本身是不可改变的,它只能赋值一次,每一次内容发生改变,都会生成一个新的对象,然后原有的对象引用新的对象,而每一次生成新对象都会对系统性能产生影响,这会降低.NET编译器的工作效率。string操作示意图如图1所示。                   &nbs..

小梁 889

本地构建AI智能分析助手之 05 PandasAI如何MySQL数据库 (教程含源码)

与 PostgreSQL 连接器类似,MySQL 连接器允许您连接到 MySQL 数据库。即使您不熟悉 MySQL 或 PandasAI,它也设计得易于使用。

iCloudEnd的博客 703

C#中Append与AppendFormat有什么区别

Append Append-在此bai实例的结尾追加指定对象的字符串表示形式。 例: StringBuilder str=new StringBuilder(); str.AppendFormat("我的名字是晴儿"); AppendFormat AppendFormat-向此实例追加包含零个或更多格式规范的设置了格式的字符串。每个格式规范由相应对象参数的字符串表示形式替换。 例: string name="晴儿"; string sex="女"; int age=21; StringBuilder st

qq_45152631的博客 4006

PyCharm 2024最新版图文安装教程(python环境搭建+PyCharm安装+运行测试+汉化+背景图设置)

PyCharm 2024新版图文安装教程(python环境搭建+PyCharm安装+运行测试+汉化+背景图设置)

Code_流苏:在代码中寻诗意,在实践中觅真知 4万+

医疗影像分析实战:肺炎X光片分类与分割

医疗影像分析实战:肺炎X光片分类与分割 ,人工智能,计算机视觉,大模型,AI,在医疗领域,医疗影像分析技术凭借其高效、精准的特点,成为疾病诊断与治疗的重要辅助手段。肺炎作为一种常见的呼吸道疾病,严重威胁人类健康,通过 X 光片对肺炎进行诊断是临床常用方法。利用计算机技术实现肺炎 X 光片的自动分类与分割,不仅能减轻医生的工作负担,还能提高诊断的准确性和效率。本文将深入讲解肺炎 X 光片分类与分割的实战过程,结合大量代码示例和关键概念解析,帮助读者掌握相关技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

java中StringBuilder核心用法

是 Java 中用于高效处理可变字符串的类,特别适合频繁修改字符串的场景(如拼接、插入、删除等)。// 替换索引6到10的字符。// 输出: Hello Universe。

2301_81193552的博客 654

OpenSpec 完全指南 config.yaml文件

不管是项目内还是全局存放,自定义工作流都要遵守以下规则,否则会导致OpenSpec无法识别,新手一定要记牢:一个文件夹 = 一个工作流:工作流文件夹的名称,就是中schema字段要填写的名称;每个工作流文件夹必须包含:这是工作流的核心定义文件,没有它,OpenSpec无法识别这个工作流;模板文件统一放templates/目录:如果需要自定义生成文件的模板(比如统一的提案模板、任务模板),就放在工作流文件夹下的templates/里,OpenSpec会自动识别;

h a 6 6 6 c k 为 你解决复杂难题! 1420

stringbuilder用法 java_Java StringBuilder的用法示例

StringBuilder简介StringBuilder 最早出现在JDK1.5,是一个字符拼接的工具类,它和StringBuffer一样都继承自父类AbstractStringBuilder,在AbstractStringBuilder中使用char[] value字符数组保存字符串,但是没有用final关键字修饰,所以StringBuilder是可变的。性能StringBuilder 对字符串...

weixin_39679678的博客 898

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Java中StringBuilder用法

StringBuilder我们可以把其看成一个容器,是一个可变的字符串类,其StringBuilder对象中的内容是可变的 String和StringBuilder的区别 String中的内容不可变 StringBuilder:内容是可变的 package Socket_Thread.StringBuilderDemo; /** * @Author: 从南到北 * @Date: 2021/12/31/10:34 */ public class StringBuilderDemo01 { p

这里是菠萝味菠萝啤的博客 936

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

stringbuilder用法 java_Java StringBuilder trimToSize()用法及代码示例

StringBuilder类的trimToSize()方法是一种内置方法,用于修剪用于StringBuilder对象的字符序列的容量。如果StringBuilder对象使用的缓冲区大于保留其当前字符序列所需的缓冲区,则将调用此方法以调整StringBuilder对象的大小,以将该对象转换为更节省空间的对象。调用此方法可能会(但不是必须)影响以后对capacity()方法的调用返回的值。用法:pub...

weixin_42360899的博客 481

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

java中StringBuilder用法

java中StringBuilder用法

gb4215287的博客 619

stringbuilder用法 java_java stringBuilder的用法

String对象是不可改变的。每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。例如,当在一个循环中将许多字符串连接在一起时,使用St...

weixin_39779467的博客 134

Java中StringBuilder的用法

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,

awq520tt1314的博客 4817

java中StringBuilder的用法小结

java中StringBuilder的用法小结

weixin_59796310的博客 3669

Java中StringBuilder和StringBuffer用法以及区别

在字符串的处理中有两个类:StringBuilder和StringBuffer,这两个类都实现了对可变字符串的操作,在一定程度上可以替代String的功能。当然,在实际开发中,可能会遇到使用StringBuffer和StringBuilder之外的其他类的情况,因为它们可以通过缓存机制来避免字符串频繁创建的问题。那么,StringBuilder和StringBuffer的作用就在于,它们提供了对字符串的可变操作,可以避免生成大量的字符串对象,提高了程序效率。这个程序会生成一个长度为100000的字符串。

qwert 1521
上一篇: The method DataOutputStream(OutputStream) is undefined for the type new Runnable(){}
下一篇: Android资源管理框架(AssetManager)
killcwd
博客等级 码龄16年 49粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值