`
shangjava
  • 浏览: 1188979 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

String(+) vs StringBuffer(append)

 
阅读更多

以前一直以为append比+快,今天上网查了资料才发现:这种说法是不全面的.

正确的说法应该是:

1.在运行期做字符串连接,那么append 显然比+快很多

2.在编译期就可以做连接的话,那么使用+要比append快.

例子:

String temp="nnnnnnn"+"jjjjjj"+"jjjjj";(1)

StringBuffer t=new StringBuffer();

t.append("nnnnnnn").append("jjjjjj").append("jjjjjj");(2)

执行的话,上面(1)比(2)快,因为(1)在编译期就已经做好了,相当于String temp="nnnnnnnjjjjjjjjjjjj";而(2)则需要在运行期中做计算,所以比(1)慢.

真牛,呵呵.

分享到:
评论

相关推荐

    Java StringBuffer & StringBuilder.pdf

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

    纯手工js数据交互

    stringbuffer.append(" "); // 依次将相应的字符转化成空格 break; case 10: // '\n' stringbuffer.append(" "); // 依次将相应的字符转化成空格 break; case 32: // ' ' ...

    JavaScript中String和StringBuffer的速度之争

    显示情况时Javascript中并没有StringBuffer类,一种主流的Javascript ... } StringBuffer.prototype.append = function( str ){ this.content.push( str ); } StringBuffer.prototype.toString = function(){ retur

    StringBuffer:C 字符串缓冲区

    StringBuffer *sb = string_buffer_new(); string_buffer_append (sb, " hello " ); string_buffer_append_n (sb, " 123456 " , 3 ); string_buffer_appendf (sb, " d " , 10 ); string_buffer_append_set (sb, ' A ...

    Java语言中StringBuffer的用法

    StringBuffer的常用方法实例,如:append、insert等等。其中,StringBuffer与String的区别详细做了例子。

    java字符串连接效率测试代码

    用于测试java字符串几种连接方式的效率,主要包括四类对比测试:1,StringBuffer连接,2,String的Format连接,3,String相加连接,4,StringBuffer的append串起来连接。测试结果如下: String Buffer: 580ms String...

    三个类对比1

    相同:String类与StringBuffer类中定义的常用方法,两个类的大部分方法可以互补.public StringBuffer append(数据类型 变

    txt文档转化为String

    StringBuffer content = new StringBuffer(""); //文档内容 try { FileReader reader = new FileReader(path); BufferedReader br = new BufferedReader(reader); String s1 = null; while((s1 = br...

    java io读取文件到String

    StringBuffer sb = new StringBuffer((int)f.length()); while( (line = br.readLine() ) != null ) { sb.append(line).append(LINE_BREAK); } ret = sb.toString(); } finally { if(br!=null) {try{br.close...

    .net 程序性能测试软件

    6、注意代码编写时少产生垃圾,比如String + String就会产生大量的垃圾,可以用StringBuffer.Append 7、this.Dispose(); this.Dispose(True); this.Close(); GC.Collect(); 8、注意变量的作用域,具体说某个变量...

    sql访问数据库工具类--SqlUtils(java源码)

    buffer.append("SELECT ").append(this.getBeanShortName()).append( " FROM ").append(this.getBeanName()).append(" ").append( this.getBeanShortName()).append(" ").append(buildWhereStr()) ....

    校园管理系统

    StringBuffer sb = new StringBuffer(); String initDay = day + " "; for (String time : timeList) { sb.append(initDay); sb.append(time); resultList.add(sb.toString()); sb.delete(0, sb.length())...

    JavaCrawler

    StringBuffer sb = new StringBuffer();// 存储参数 String params = "";// 编码之后的参数 try { // 编码请求参数 if(parameters.size()==1){ for(String name:parameters.keySet()){ sb.append(name)....

    java字符串操作大全

     String s=sb.append("a=").append(a).append("!").toString();  (7)、insert() 插入字符串  StringBuffer insert(int index,String str)  StringBuffer insert(int index,char ch)  StringBuffer insert...

    Java基础面试题 91道面试复习八股文

    88. String和StringBuffer、StringBuilder的区别是什么?String为什么是不可 变的 可变性 String类中使用字符数组保存字符串,private final char value[],所以string对象是不可变 的。StringBuilder与...

    StringBuilders.jl:Julia的StringBuilder类型

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

    简单易用的自定义标签分页显示

    sb.append("function goPage(cpage){").append("window.location='").append(action); sb.append("?currentPageNum='+").append("cpage"); sb.append("+'&onePageMaxNum='+").append("getMaxNum()"); sb.append...

    java md5 jar

    StringBuffer buf = new StringBuffer(); try { MessageDigest md5 = MessageDigest.getInstance("MD5"); md5.update(str.getBytes()); byte bytes[] = md5.digest(); for(int i = 0; i ; ...

    Pinyin4jUtil.java

    StringBuffer pinyinName = new StringBuffer(); char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType...

    fastjson-1.2.7.jar通用json文本解析实例(轻开IOS和安卓App服务器开发)

    b0.set(key,new StringBuffer(prefix1).append(".").append(String.valueOf(i)).append(".").append(String.valueOf(j)).toString()); } else{//如果下级是如果是文本或值,就放进书包 ...

Global site tag (gtag.js) - Google Analytics