public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int times = 1000;// 次数
long beginBuilder = System.currentTimeMillis();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < times; i++) {
builder.append(i);
}
long endBuilder = System.currentTimeMillis();
long useBuilder = endBuilder - beginBuilder;
System.out.println("builder 使用时间:" + useBuilder);
long beginAdd = System.currentTimeMillis();
String str = "";
for (int i = 0; i < times; i++) {
str += i;
}
long endAdd = System.currentTimeMillis();
long useAdd = endAdd - beginAdd;
System.out.println("add 使用时间:" + useAdd);
}
}
执行效率比较如下,
times | 1000 | 5000 | 10000 | 20000 |
append | 0 | 0 | 0 | 0 |
+ | 31 | 454 | 2031 | 13328 |
背后的原理是怎样的,还需研究一番[暂时搁浅吧]呀...
分享到:
相关推荐
测试string的+和String.Format()和StringBuilder.Append()性能差距,一个检测它们时间的测试
它们与String类类似,但是不同之处在于,StringBuffer和StringBuilder可以修改字符串内容,而String对象是不可变的; StringBuffer和StringBuilder类的用法基本相同,但StringBuilder类的效率更高,因为它不是线程...
与使用IOBuffer相比,StringBuilders.jl的优势在于API。 某些人可能会发现更易于使用更高级别的StringBuilders.jl API。 为了进行比较,上面使用IOBuffer的示例为 io = IOBuffer () write (io, " First string " ) ...
int iCnt = 0; int i_index; int i_len; System.Text.StringBuilder ... strRet.Append(encoding.GetString(va)); } else { if (i_index < chrbyte.Length + 1) { strRet.Append("..."); } break; } }
StringBuilder.Append 将信息追加到当前 StringBuilder 的结尾。 StringBuilder.AppendFormat 用带格式文本替换字符串中传递的格式说明符。 StringBuilder.Insert 将字符串或对象插入到当前 StringBuilder 对象的...
字符串生成器基于c#的... ###append 将字符串附加到字符串生成器sb . append ( 'string to append ' ) ; ###appendLine 附加一个字符串,后跟 \r\n sb . appendLine ( 'this string will be appeneded' ) ###appendF
StringBuilder是一个可变的字符串类,我们可以把它看成是一个容器,这里的可变指的是StringBuilder对象中的内容是可变的 1. StringBuilder常用方法 StringBuilder sb =newStringBuilder(); // 对象名.length() 序列...
C# StringBuilder 拼接字符串 字符串转换工具 StringBuilder比StringBuffer运行速度要快,因为StringBuilder是针对于单线程的,所这它是非线程安全的。普通情况下建议使用StringBuilder。
主要生成StringBuilder 字符串 类似 StringBuilder builder = new StringBuilder(); builder.AppendFormat("<span class=\"navSep\"></span>\r\n"); builder.AppendFormat("机构看盘</a>\r\n"); builder....
字符移动 4. 子集定和问题 5. 素数方阵 6. 全排列问题 7. 移盘子问题 8. N 女王问题 9. 组合问题 10. 电子锁 11. 高精度数加减法 12. 高精度数乘法 13. 高精度数除法(一) 14. 高精度数除法(二) 15. 高精度数阶乘 16...
一、string关键字与StringBuilder类: C# 字符串是使用 string 关键字声明的一个字符数组。字符串是使用引号声明的,如下例所示: string s = "Hello, World!"; 字符串对象是“不可变的”,即它们一旦创建就无法...
StringBuilder 字符串生成器 举例说明: SELECT * FROM dbo.Pub_User WHERE ID = 1001 以上这段Sql语句,利用此工具,一键生成以下StringBuilder字符串变量,支持翻转生成,内含VS2010源码,是.Net程序员必备工具 sb....
day13-String和StringBuilder 1.String类 1.1字符串的比较【理解】 1.1.1==号的作用 比较基本数据类型:比较的是具体的值 比较引用数据类型:比较的是对象地址值 1.1.2equals方法的作用 方法介绍 示例代码 ...
在java开发中使用json... stringBuilder.append( jsobj.getString("mac")+",") .append(jsobj.getString("start")+",") .append(jsobj.getString("end")+",") .append(key+",").append( brandMap.get(key)+"\n");
下面的代码使用 StringBuilder 类的 Append 方法来串联字符串,因此不会有 + 运算符的链接作用产生。 class StringBuilderTest { static void Main() { string text = null; // Use StringBuilder for ...
System.Text 程序集:mscorlib(在 mscorlib.dll 中) 语法 C# public StringBuilder Replace ( char oldChar, char newChar, int startIndex, int count ) 参数 oldChar 要替换的字符。...
本书阐述了.net framwork处理文本的方式,学习如何使用string类和stringbuilder类在.net中构建字符串,讲述在字符串和其他数据类型之间转换时所涉及的一些问题,并论述了如何用不同语言显示文本。本书上传给大家,...
字符串生成器javascript StringBuilder 将选择一种快速的方式来运行字符串连接。 单元测试 var sb = new StringBuilder ( ) ; sb . append ( "a" ) . append ( "b" ) ; sb . appends ( "a" , "b" ) ; console . log ...
sb.append(arg[0][0]).append(" ").append(arg[0][1]); for(int i=1,len=arg.length;i;i++){ sb.append(","); for(int j=0;j[i].length;j++){ sb.append(arg[i][j]).append(" "); } } return sb; }...