1.String 是final对象,不会被修改,每次使用 + 进行拼接都会创建新的对象,而不是改变原来的对象;
2.StringBuffer 可变字符串,主要用于字符串的拼接,属于线程安全的;
3.StringBuilder 可变字符串,主要用于字符串的拼接,属于线程不安全的;
可通过以下代码来查看其运行速度:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38/** * StringBuilder拼接,线程不安全,速度最快(10000条记录大概0毫秒) */ public static void getStringBuilderTime(){ long start = System.currentTimeMillis(); StringBuilder sb = new StringBuilder(); for(int i = 0;i < 10000;i++){ sb.append(i); } long end = System.currentTimeMillis(); System.out.println(end - start); } /** * StringBuffer拼接,线程安全,速度略快(10000条记录大概16毫秒) */ public static void getStringBufferTime(){ long start = System.currentTimeMillis(); StringBuffer sb = new StringBuffer(); for(int i = 0;i < 10000;i++){ sb.append(i); } long end = System.currentTimeMillis(); System.out.println(end - start); } /** * String拼接,线程安全,速度最慢(10000条记录大概265毫秒) */ public static void getStringTime(){ long start = System.currentTimeMillis(); String sb = new String(); for(int i = 0;i < 10000;i++){ sb += i; } long end = System.currentTimeMillis(); System.out.println(end - start); }
最后
以上就是还单身大炮最近收集整理的关于String,StringBuffer,StringBuilder运行速度的比较的全部内容,更多相关String,StringBuffer,StringBuilder运行速度内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复