javaringbuf的简单介绍
今天给各位分享javaringbuf的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java拼接字符串SringBuffer
黑马培训的学员,itcaset。
sb.append方法只接收string类型的参数,这里arr[x]是int类型的,显然不行,用
sb.append(String.valueOf(arr[x]))转一下或者写成sb.append(arr[x]+"")都是可以的
Java中的String 跟StringBuffer有何区别?
这个主要是效率问题。如果需要对某个字符串反复操作多次,同时字符串长度越长,选择用StringBuffer,StringBuffer比起String处理速度快很多。你可以测试一下2种选择的处理时间:
public static void main(String[] args) {
long start = System.currentTimeMillis();
StringBuffer sb = new StringBuffer();
// String s = "I";
for(int i=0;i10000;i++){
// s += "Love YOu ";
sb.append("Love YOu ");
}
long end = System.currentTimeMillis();
System.out.println(end - start);
}
打印出所耗的毫秒,你会很惊讶的。如果效果不明显,循环增大到50000或者更多,效果更明显,或者把拼接的字符串加长测试效果。
当然StringBuffer又是线程安全的,相比起SringBuilder速度会低,所以一般我们使用处理字符串的优先选择StringBuilder,除非有特殊安全需要才选择StringBuffer.
关于Java中StringBuffer和StringBuilder的区别
线程安全是指同一个数据被两个以上线程共用(特别是有写入发生时)的数据的正确性..
比如
class A{
public StringBuffer buf;
}
这里的buf被多个线程同时使用,仍是安全的,如果改成StringBuilder就要加synchronized同步才行..
如果StringBuffer sb2 = new StringBuffer();是局部变量,只在方法内部使用,无所谓同步,都是安全的。
javaringbuf的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javaringbuf的信息别忘了在本站进行查找喔。