String、StringBuffer与StringBuilder之间区别
来源:互联网 发布:股票行情实时数据 编辑:程序博客网 时间:2024/06/05 06:21
一、 执行速度:
1、三者在执行速度方面的比较:StringBuilder > StringBuffer > String
String:字符串常量
StringBuffer:字符串变量
StringBuilder:字符串变量
String是字符串常量,是不可改变的对象。
import org.junit.Test;public class StringBufferWithStringBuilder { public void testString() { long start = System.currentTimeMillis(); String str = null; for (int i = 0; i < 20000; i++) { str = str + i + ","; } System.out.println(System.currentTimeMillis() - start); } public void testStringBuffer() { long start = System.currentTimeMillis(); StringBuffer sbuf = new StringBuffer(); for (int i = 0; i < 20000; i++) { sbuf.append(i + ","); } System.out.println(System.currentTimeMillis() - start); } public void testStringBulider() { long start = System.currentTimeMillis(); StringBuilder builder = new StringBuilder(); for (int i = 0; i < 20000; i++) { builder.append(i + ","); } System.out.println(System.currentTimeMillis() - start); } @Test public void test(){ testString(); testStringBuffer(); testStringBulider(); } }执行结果:
121796
二、StringBuffer常用方法:
StringBuffer s = new StringBuffer();
这样初始化出的StringBuffer对象是一个空的对象,
StringBuffersb1=new StringBuffer(512);
分配了长度512字节的字符缓冲区
方便用于字符串的连接
StringBuffer newsql = new StringBuffer("select count(*) from material,warehouse ") ;StringBuilder whereSql = new StringBuilder("where material.warehouse_id=warehouse.warehouse_id and material.del=0 "); List<Object> params = new ArrayList<Object>();String material_id = material.getMaterial_id();if(material_id != null && !material_id.trim().isEmpty()) {whereSql.append("and material_id=? ");params.add(material_id);}String material_name = material.getMaterial_name();if(material_name != null && !material_name.trim().isEmpty()){whereSql.append("and material_name=? ");params.add( material_name);}Long num =null;try { num = (long) tr.query(newsql.append(whereSql).toString(), new ScalarHandler(),params.toArray());} catch (SQLException e) {e.printStackTrace();}
三、Append:
1、 public StringBuffer append(boolean b)
该方法的作用是追加内容到当前StringBuffer对象的末尾,类似于字符串的连接,调用该方法以后,StringBuffer对象的内容也发生改 变,例如:
StringBuffer sb = new StringBuffer(“abc”);
sb.append(true);
则对象sb的值将变成”abctrue”
2、 使用该方法进行字符串的连接,将比String更加节约内容,经常应用于数据库SQL语句的连接
阅读全文
1 0
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- String 、StringBuffer、与StringBuilder之间的区别
- String、StringBuffer与StringBuilder之间区别
- String、StringBuffer与StringBuilder之间区别
- Java--String、StringBuffer与StringBuilder之间区别
- 小圆点初始化及资源的获取
- MySQL优化---DBA对MySQL优化的一些总结
- Tensorflow-rnn(mnist分类)
- Java中InputStream 、 InputStreamReader 、 BufferedReader的区别
- [AHK]获取word文档路径
- String、StringBuffer与StringBuilder之间区别
- Solaris随风而去
- Ajax练习一(配置Java后台)
- 2017.9.17
- 数组排序(冒泡、排序)
- vim 或者 ls vi 命令没有了
- 科大讯飞笔试题:互相踢人游戏
- 每天做好一件事
- react和webpack