TL之StringBuilder构建字符串

本文探讨了在Java中如何高效地构建字符串。使用String进行拼接会因频繁创建新对象而导致性能下降。文章介绍了StringBuilder类,它允许程序员在不创建新对象的情况下添加字符或字符串片段,从而提高性能并减少内存消耗。此外还对比了StringBuilder与StringBuffer的异同。
我们都知道怎样用String去构建字符串,但常常也会被一些细节困扰。由于Java语言给我们带来的很多方便,很多时候程序员也便渐渐不去考虑一些效率问题了。这远远不像曾经学C或C++的时候纠结算法,效率的抓狂年代。
最近开始下定决心仔细学习下Java基础知识部分,就把一些觉得比较容易被大家忽视,也同样是很重要的(只要你认为重要就好)知识点拿出来和大家资源共享一下。大多数是在《Core java》系列上整理和搜集下来的。
Why we talked about StringBuilder,why should wo use it?
Occasionally, you need to build up strings from shorter strings, such as keystrokes orwords from a file. It would be inefficient to use string concatenation for this purpose.
Every time you concatenate strings, a new String object is constructed. This is time consuming and it wastes memory. Using the StringBuilder class avoids this problem.
Follow these steps if you need to build a string from many small pieces. First, construc an empty string builder:
StringBuilder builder = new StringBuilder();
Each time you need to add another part, call the append method.
builder.append(ch); // appends a single character
builder.append(str); // appends a string
When you are done building the string, call the toString method. You will get a String
object with the character sequence contained in the builder.
String completedString = builder.toString();

那么StringBuffer呢?
The StringBuilder class was introduced in JDK 5.0. Itspredecessor, StringBuffer, is slightly less efficient, but it allows multiple threads to add or remove characters. If all string editing happens in a single thread (which is usually the case), you should use StringBuilder
instead. The APIs of both classes are identical.
要想更深地了解体会构建字符串的几种方式的区别,看看他们的API 然后敲上几行小代码测试下不就可以了哈?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值