StringBuffer帮你减轻Java的负担
来源:互联网 发布:gbgb888域名永久获取 编辑:程序博客网 时间:2024/04/25 03:10
为什么不用标准的String?
Java String对象是常量字符串。一旦被初始化和付值,它的值和所分配的内存就被固定了。如果硬要改变它的值,将会产生一个包含新值的新String对象。这就是String对象会消耗掉很多资源的原因。下面的代码创建了一个String对象并使用串联(+)符号来为它添加更多字符:
String sample1=new String(“Builder.com”);
sample1+=”is”;
sample1+=”the place”;
sample1+=”to be.”;
系统最终会创建四个String对象来完成上面的替换。其中第一个的文本是Builder.com。然后每次添加文本时都会创建一个新的对象。
这种方法的问题在于为了这么一个简单的过程而消耗了太多的资源。在这个例子中其影响也许很小(指给出了很少的代码),但是在一个拥有多得多操作的大型应用程序中这样做就会使性能下降。StringBuffer类所要解决的正是这个问题。
用StringBuffer处理字符串
StringBuffer类被设计用与创建和操作动态字符串信息。为该对象分配的内存会自动扩展以容纳新增的文本。有三种方法来创建一个新的StringBuffer对象:使用初始化字符串、设定大小以及使用默认构造函数:
StringBuffer sb=new StringBuffer();
StringBuffer sb=new StringBuffer(30);
StringBuffer sb=new StringBuffer(“Builder.com”);
第一行创建了不包含任何文本的对象,默认的容量是16个字符。类的第二个实例也不包含文本,容量是30个字符,最后一行创建了一个拥有初始化值的对象。StringBuffer类位于java.lang基础包中,因此要使用它的话不需要特殊的引入语句。
一旦创建了StringBuffer类的对象,就可以使用StringBuffer类的大量方法和属性。最显著的方法是append,它将文本添加到当前StringBuffer对象内容的结尾。下面的代码示例了append方法的语法:
StringBuffer sb=new StringBuffer();
sb.append(“B”);
sb.append(“u”);
sb.append(“i”);
sb.append(“l”);
sb.append(“d”);
sb.append(“e”);
sb.append(“r”);
sb.append(“.com”);
System.out.println(sb.toString());
这些代码创建了Builder.com字符串并将它送往标准输出,但是只创建了一个对象。如果使用String对象就需要八个以上的对象。注意代码利用了StringBuffer类的toString方法。这个方法将其内容转换成一个可以被用于输出的字符串对象。它允许操作对应的文本用于输出或数据存储。
append方法有十种重载形式,允许将各种类型的数据添加到对象的末尾。StringBuffer类还提供了处理对象内部数据的方法。
- StringBuffer帮你减轻Java的负担
- StringBuffer帮你减轻Java的负担
- StringBuffer帮你减轻Java的负担
- StringBuffer帮你减轻Java的负担
- StringBuffer帮你减轻Java的负担
- 如何为你的Activity减轻负担
- 减轻临时文件对VSS的负担
- 新的Eclipse插件CTP减轻Java开发人员进行Windows Azure开发时的负担
- 减轻胰岛素负担*
- 巧用思维导图,减轻一周的负担!
- 素质教育就是”考试素质教育“的简称,减负就是减轻某些人赚钱负担的意思
- 怎样阻止搜索引擎蜘蛛索引网站上的图片以达到减轻服务器负担的目的
- TCC直接执行C源文件的能力也会减轻我们的负担
- 缓存PHP页面的代码,可以减轻CPU和MYSQL负担
- 能很大程度减轻很多Web前端工程师的思想负担
- 设计模式六大原则: 老板是如何减轻负担的 -- 依赖倒置原则
- 《JVM垃圾回收相关内容》开发中,如何尽量减少GC开销,减轻垃圾回收的负担
- 第六篇: 设计模式六大原则: 老板是如何减轻负担的 -- 依赖倒置原则
- Java的垃圾回收机制详解和调优
- Very Chat Room
- 影子
- 提高String和StringBuffer性能的技巧
- mysql连接和断开
- StringBuffer帮你减轻Java的负担
- ttt
- 十大Web 2.0攻击向量
- MSN之踏雪无痕
- Java多线程系列(6)
- 每个编辑单元只能有一个public class
- CSDN专家分与成就感
- 。Windows 键盘快捷键
- 耳朵出问题了