String,StringBuffer,StringBuilder效率优先关系说明
String,StringBuffer,StringBuilder效率优先关系说明:
public class StringBufferWithStringBuilder {
public static void testString() {
long start = System.currentTimeMillis();
String str = null;
for (int i = 0; i < 50000; i++) {
str = str + i + ",";
}
System.out.println("String耗时:"+(System.currentTimeMillis() - start));
}
public static void testStringBuffer() {
long start = System.currentTimeMillis();
StringBuffer sbuf = new StringBuffer();
for (int i = 0; i < 50000; i++) {
sbuf.append(i + ",");
}
System.out.println("StringBuffer耗时:"+(System.currentTimeMillis() - start));
}
public static void testStringBulider() {
long start = System.currentTimeMillis();
StringBuilder builder = new StringBuilder();
for (int i = 0; i < 50000; i++) {
builder.append(i + ",");
}
System.out.println("StringBuilder耗时:"+(System.currentTimeMillis() - start));
}
public static void main(String[] args) {
testString();
testStringBuffer();
testStringBulider();
}
}
控制台输出结果:
String耗时:8253
StringBuffer耗时:9
StringBuilder耗时:8
Process finished with exit code 0
结论:可想而知,效率最高的是StringBuilder>StringBuffer>String
String,StringBuffer,StringBuilder效率优先关系说明的更多相关文章
- 关于String StringBuffer StringBuilder
0. String对象的创建 1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...
- String StringBuffer StringBuilder (转)
转自:http://www.iteye.com/topic/522167 众所周知,String是由字符组成的串,在程序中使用频率很高.Java中的String是一个类,而并非基本数据类型. 不过她却 ...
- 【Java基础】String StringBuffer StringBuilder
String String是不可变的 我们都知道String不是基本数据类型,而是一个对象,并且是final类型的,不可变的.(public final class String) 查看以下代码: S ...
- String,StringBuffer,StringBuilder的区别及其源码分析
String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...
- 转:String StringBuffer StringBuilder区别
转自:http://www.iteye.com/topic/522167 作者:每次上网冲杯Java时,都能看到关于String无休无止的争论.还是觉得有必要让这个讨厌又很可爱的String美眉,赤裸 ...
- java中 String StringBuffer StringBuilder的区别
* String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...
- String,StringBuffer,StringBuilder的区别
public static void main(String[] args) { String str = new String("hello...."); StringBuffe ...
- [置顶] String StringBuffer StringBuilder的区别剖析
这是一道很常见的面试题目,至少我遇到过String/StringBuffer/StringBuilder的区别:String是不可变的对象(final)类型,每一次对String对象的更改均是生成一个 ...
- Java学习笔记--String StringBuffer StringBuilder
String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...
随机推荐
- 在Ubuntu环境下搭建esp32开发环境
第一步:下载必要的库文件 sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial ...
- [CodeForces]1042D
大意:求一个序列有几个子序列的和小于给定值,里面的数有正有负,序列长度≤200000. 列个式子,其实求的是sum[r]-sum[l-1]<T sum[r]-T<sum[l-1] 所以我们 ...
- rsync增量同步标志位详细解释
rsync非常强大,下面是我用rsync做目录备份时用到的参数: rsync -ruPi -plEt /home/op/photo/ /remote_backup/photo/ --dry-run - ...
- <a>标签中的href伪协议 标签: html 2016-12-24 22:38 365人阅读 评论(0)
<a id="jsPswEdit" class="set-item" href="javascript:;">修改密码</ ...
- 继续聊WPF——Expander控件(2)
<Window x:Class="Expander_Sample2.Window1" xmlns="http://schemas.microsoft.com/win ...
- 利用python暴力破解压缩文件密码
import randomimport sysimport zipfileimport timefrom threading import Threadfrom multiprocessing imp ...
- Method and apparatus for an atomic operation in a parallel computing environment
A method and apparatus for a atomic operation is described. A method comprises receiving a first pro ...
- HDU 1240
#include <iostream> #include <cstdio> using namespace std; ; char maze[MAX][MAX][MAX]; s ...
- CSS3 timing-function: steps()介绍
在应用 CSS3 渐变/动画时.有个控制时间的属性 <timing-function>.它的取值中除了经常使用到的三次贝塞尔曲线以外,还有个steps() 函数. steps 函数指定了一 ...
- [Unit Testing] Set the timeout of a Test in Mocha
Mocha uses a default timeout of 2000 ms. However, if for some reason that does not work for your use ...