String 和StringBuffer的区别是什么?

发布网友

我来回答

4个回答

懂视网

 1 public class Test { 
 2 public static void main(String args[]) { 
 3  
 4  String str = "abc"; 
 5  StringBuffer sb = new StringBuffer("abc"); 
 6  Runtime runtime = Runtime.getRuntime(); 
 7  long start = System.currentTimeMillis(); 
 8  long startFreememory = runtime.freeMemory(); 
 9  for (int i = 0; i < 10000; i++) { 
10  str += i; 
11  //测试StringBuffer时候把注释打开 
12  //sb.append(i); 
13  } 
14  long endFreememory = runtime.freeMemory(); 
15  long end = System.currentTimeMillis(); 
16  System.out.println("操作耗时:" + (end - start) + "ms," + "内存消耗:" 
17   + (startFreememory - endFreememory)/1024 + "KB"); 
18 } 
19 } 
技术图片

 

 

测试结果:

使用String做10000次向一字符串后添加字符串

操作耗时:1872ms,内存消耗:1301KB

 

使用StringBuffer做10000次向一字符串后添加字符串

操作耗时:15ms,内存消耗:162KB

差别显著!


Dao持久层定义sql语句拼接参数之String和StringBuffer区别

标签:bsp   使用   lte   build   list   blog   复制   的区别   template   

热心网友

String
类代表字符串。
StringBuffer
一个类似于
String
的字符串缓冲区,但不能修改。
String一次给内容
StringBuffer可以分好几次给
,也就是缓冲的意思。。
String可以修改
Stringbuffer不能//、
就这些吧////

热心网友

String是不可变的
StringBuffer是现场安全的可变的,包含大多数String的常用方法
如果是大量字符串拼接,可以用StringBuffer,如果很少,可以直接用String的“+”

热心网友

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com