javascript StringBuilder类实现
// Initializes a new instance of the StringBuilder class
// and appends the given value if supplied
function StringBuilder(value)
{
this.strings = new Array("");
this.append(value);
}
// Appends the given value to the end of this instance.
StringBuilder.prototype.append = function (value)
{
if (value)
{
this.strings.push(value);
}
}
// Clears the string buffer
StringBuilder.prototype.clear = function ()
{
this.strings.length = 1;
}
// Converts this instance to a String.
StringBuilder.prototype.toString = function ()
{
return this.strings.join("");
}
代码看上去很简单直接。实际上就是用array,push,join等来实现,以下是如何使用该类
代码如下:
// create a StringBuilder
var sb = new StringBuilder();
// append some text
sb.append("Some of those preparing for international ");
sb.append("exams such as the TOEFL ");
sb.append("need extra practice for the listening section");
// get the full string value
var s = sb.toString();
alert(s);
非常简单,不需要太多的说明。如果你在.NET中用了StringBuilder,你也会知道这里如何用。
相关推荐
-
c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)
将此实例的子字符串中所有指定字符的匹配项替换为其他指定字符. 命名空间:System.Text 程序集:mscorlib(在 mscorlib.dll 中) 语法 C# public StringBuilder Replace ( char oldChar, char newChar, int startIndex, int count ) 参数 oldChar 要替换的字符. newChar 替换 oldChar 的字符. startIndex 此实例中子字符串开始的
-
asp.net StringBuilder的用法 实例代码
要实现上述效果 复制代码 代码如下: public static string ShowNewMsg() { string Pic1 = "images/yzdp-_15.gif"; string Pic2 = "images/yzdp-_18.gif"; string Pic3 = "images/yzdp-_20.gif"; string Pic4 = "images/yzdp-_22.gif"; string Pic5
-
全面解释java中StringBuilder、StringBuffer、String类之间的关系
1. String 类 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但0x0001地址中保存的"a"依旧存在,但已经不再是a所指向的,a 已经指向了其它地址. 因此String的操作都是改变赋值地址而不是改变值操作. 2. StringBuf
-
Java之String、StringBuffer、StringBuilder的区别分析
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder .那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?在不同的场合下我们应该用哪个呢?我讲讲自己对这几个类的一点看法,也希望大家提出意见,每个人都有错的地方,在
-
C#中StringBuilder类的使用总结
String 对象是不可改变的.每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间.在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵.如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类.例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能. 通过用一个重载的构造函数方法初始化变量,可以创建
-
C#中StringBuilder用法以及和String的区别分析
String类有不可改变性.每次执行字符操作时,都会创建一个新的String对象. StringBuilder 类解决了对字符串进行重复修改的过程中创建大量对象的问题.初始化一个StringBuilder 之后,它会自动申请一个默认的StringBuilder 容量(默认值是16),这个容量是由Capacity来控制的.并且允许,我们根据需要来控制Capacity的大小,也可以通过Length来获取或设置StringBuilder 的长度. 举例: 用String类这么写 复制代码 代码如下:
-
java中String与StringBuilder的区别
相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵出 J2SE 5.0 里面带来的一个新的字符操作的类-- StringBuilder (先别忙着扔我砖头,我还算清醒,我这里说的不是 C #, Java 也有 StringBuilder 类).那么这个 StringBuilder 和 StringBuffer 以及我们最早遇见的 String 类有那些区别呢?
-
ToStringBuilder类的一些心得
今天接触了一下ToStringBuilder类,这里做一个备忘.ToStringBuilder在包 common-lang 中,主要用于一个类的格式化输出.ToStringBuilder类中的append方法可以向该类添加基本类型.数组和对象 ,只有添加的方法才会被toString方法输出. ToStringStyle类则是对输出的内容进行格式化.例如:public String toString() -{return new ToStringBuilder(this, ToStr
-
详解C++中StringBuilder类的实现及其性能优化
介绍 经常出现客户端打电话抱怨说:你们的程序慢如蜗牛.你开始检查可能的疑点:文件IO,数据库访问速度,甚至查看web服务. 但是这些可能的疑点都很正常,一点问题都没有. 你使用最顺手的性能分析工具分析,发现瓶颈在于一个小函数,这个函数的作用是将一个长的字符串链表写到一文件中. 你对这个函数做了如下优化:将所有的小字符串连接成一个长的字符串,执行一次文件写入操作,避免成千上万次的小字符串写文件操作. 这个优化只做对了一半. 你先测试大字符串写文件的速度,发现快如闪电.然后你再测试所有字符串拼接的速
-
C# 利用StringBuilder提升字符串拼接性能的小例子
用Stopwatch分段监控了一下,发现耗时最多的函数是SaveToExcel 此函数中遍列所有数据行,通过Replace替换标签生成Excel行,然后将行数据累加赋值到一个字符串 复制代码 代码如下: string excelString = ""; foreach(var item in list){ excelString += string.Format("<row>....{0}</row>",list.Title)
-
深入解析StringBuffer和StringBuilder的区别
做项目中经常用到String和StringBuilder,String可以用"+"来对字符串进行拼接,StringBuilder用append进行拼接,一直不明白既然可以用String,问什么还要用StringBuilder.尽管在做数据库查询的时候,习惯性的用了StringBuilder对查询语句进行拼接,但仍然不知道原因.今天看视频的时候,又看到了StringBuffer,感觉用法又差不多,所以特意查了一下这些东西的区别.归纳如下:1.在执行速度方面的比较:StringBuilde
-
ASP.NET(C#) String, StringBuilder 与 StringWriter性能比较
直观认识:正面交锋 性能测试1:StringBuilder 第 1 轮测试:用时 312.5 毫秒 第 2 轮测试:用时 421.875 毫秒 第 3 轮测试:用时 453.125 毫秒 第 4 轮测试:用时 421.875 毫秒 第 5 轮测试:用时 453.125 毫秒 性能测试2:StringWriter 第 1 轮测试:用时 406.25 毫秒 第 2 轮测试:用时 453.125 毫秒 第 3 轮测试:用时 421.875 毫秒 第 4 轮测试:用时 437.5
随机推荐
- Vue.js实现无限加载与分页功能开发
- js老生常谈之this,constructor ,prototype全面解析
- AngularJS 简单应用实例
- 用vbs实现禁用服务
- EditPlus中的正则表达式实战(6)
- 详解bootstrap的modal-remote两种加载方式【强化】
- js 生成密匙流 脚本代码
- JavaScript中Number对象的toFixed() 方法详解
- PYTHON 中使用 GLOBAL引发的一系列问题
- 独孤剑写的马克斯迅雷片库采集插件1.4 官方最新版提供下载了
- php浏览历史记录的方法
- javascript 出生日期和身份证判断大全
- 微信小程序 Buffer缓冲区的详解
- android实现raw文件夹导入数据库代码
- js实现背景图片感应鼠标变化的方法
- 关于js与php互相传值的介绍
- Android从xml加载到View对象过程解析
- 详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理
- 使用koa2创建web项目的方法步骤
- redis+php实现微博(三)微博列表功能详解