`
谭楚峰
  • 浏览: 20043 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

String 的“+”操作一定比 StringBuilder.append()慢吗

 
阅读更多
String是定长的字符串,StringBuiler是可变字符串,书上都这么说,但是大家用的时候发现String明明是可以“+”的,StringBuiler无非是用append方法而已。事实上不是这样的,String使用“+”之后变成了一个新的字符串,内存中需要新开辟空间的,比如说String str1 = "abc"; str1 += str1;经过这个操作内存中会有两个字符串,一个是“abc”  另一个是“abcabc”,而StringBuiler使用append方法之后不会这样,所以说谁快谁慢,你能体会出来的
分享到:
评论

相关推荐

    测试string的+和String.Format()和StringBuilder.Append()性能差距|TestForString.7z

    测试string的+和String.Format()和StringBuilder.Append()性能差距,一个检测它们时间的测试

    jsonjar包及使用方式.zip

    在java开发中使用json... stringBuilder.append( jsobj.getString("mac")+",") .append(jsobj.getString("start")+",") .append(jsobj.getString("end")+",") .append(key+",").append( brandMap.get(key)+"\n");

    String工具箱

    public static StringBuilder append(StringBuilder sb,String []arg){ sb.append(arg[0]); for(int i=1,len=arg.length;i;i++){ sb.append(","); sb.append(arg[i]); } return sb; } public ...

    Java StringBuffer & StringBuilder.pdf

    它们与String类类似,但是不同之处在于,StringBuffer和StringBuilder可以修改字符串内容,而String对象是不可变的; StringBuffer和StringBuilder类的用法基本相同,但StringBuilder类的效率更高,因为它不是线程...

    C#json操作

    StringBuilder Json = new StringBuilder(); Json.Append("{"); Json.Append("\"rows\":"); Json.Append("["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Json.Append("{");...

    StringBuilders.jl:Julia的StringBuilder类型

    StringBuilders 概述 建立String的简单类型。 用法如下: using StringBuilders sb = StringBuilder () append! (sb, " First string " ) append! (sb, " Second string " ) s = String (sb) 与使用IOBuffer相比...

    常用、经典算法及讲解 <img src="/images/sunny.gif" align="abs

    共享一下。不只这些,还有论文,网上down的。 1. 最小数字子串 2. 邮票面值 3. 字符移动 4. 子集定和问题 5. 素数方阵 6. 全排列问题 7. 移盘子问题 8. N 女王问题 9. 组合问题 10. 电子锁 11. 高精度数加减法 12....

    stringBuilder完整版.pdf

    StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。 StringBuilder.AppendFormat 用带格式文本替换字符串中传递的格式说明符。 StringBuilder.Insert 将字符串或对象插入到当前 StringBuilder 对象的...

    显示阳历农历节日等详细信息

    dayInfo.Append("阳历:" + cc.DateString + "\r\n");//阳历日期 dayInfo.Append("农历:" + cc.ChineseDateString + "\r\n");//农历日期cc.ChineseDateString; //(农历二零零九年闰五月十六) dayInfo.Append(...

    Myeclipse破译

    String dx = new StringBuilder(need).append(LL).append(userId).toString(); int suf = this.decode(dx); String code = new StringBuilder(need).append(String.valueOf(suf)) .toString(); return ...

    获取文件MD5码

    private string GetMD5HashFromFile(string fileName) { try { FileStream file = new FileStream(fileName, FileMode.Open); System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5...

    java代码获取myeclipse注册码.txt

    String need = new StringBuilder(userId.substring(0, 1)).append(type).append("300").append(licenseNum).append(verTime).toString(); String dx = new StringBuilder(need).append(LL).append(userId)....

    CIStringBuilder:基于c#的Node.js字符串生成器

    字符串生成器基于c#的Node.js字符串生成器###安装 npm install ... append ( 'string to append ' ) ; ###appendLine 附加一个字符串,后跟 \r\n sb . appendLine ( 'this string will be appeneded' ) ###appendF

    String和StringBuilder效率测试

    本资源为String和StringBuilder效率测试代码,可直接运行,通过测试可以得出清晰的结果

    josn包,josn工具类

    StringBuilder sb = new StringBuilder(map.size() ); sb.append('{'); Set&lt;String&gt; keys = map.keySet(); for (String key : keys) { Object value = map.get(key); sb.append('\"'); sb.append(key);...

    myeclipse7.0

    String need = new StringBuilder(userId.substring(0, 1)).append(type).append("300").append(licenseNum).append(verTime).toString(); String dx = new StringBuilder(need).append(LL).append(userId) ....

    淘宝网支付宝开发的例子

    public static string GetMD5(string s) { /// /// 与ASP兼容的MD5加密算法 /// MD5 md5 = new MD5CryptoServiceProvider(); byte[] t = md5.ComputeHash(Encoding.GetEncoding("gb2312").GetBytes(s)); ...

    C# 字符串常用方法

    一、string关键字与StringBuilder类: C# 字符串是使用 string 关键字声明的一个字符数组。字符串是使用引号声明的,如下例所示: string s = "Hello, World!"; 字符串对象是“不可变的”,即它们一旦创建就无法...

    20130310整理过的IP数据库只含省市地县数据mdb

    StringBuilder sb = new StringBuilder(""); sb.Append(longIP &gt;&gt; 24); sb.Append("."); sb.Append((longIP & 0x00FFFFFF) &gt;&gt; 16); sb.Append("."); sb.Append((longIP & 0x0000FFFF) &gt;&gt; 8); sb.Append(".");...

    android 视频播放器demo

    StringBuilder pathBuilder = new StringBuilder(path); pathBuilder.append("?"); //http://192.168.12.100:8080/videoweb/video/manage.do? for(Map.Entry&lt;String, String&gt; entry: params.entrySet()){ ...

Global site tag (gtag.js) - Google Analytics