[求助]如何清空StringBuffer? (1)如何清空StringBuffer?(2)各位一般什么时候使用StringBuffer? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看看StringBuffer.delete多查查api注意:delete不是静态方法,需要实例化一个StringBuffer 如果你的字符串经常会发生改变,那么最好是用StringBuffer,如果一旦定义了之后就很少改变这个字符串的值,那么就用String,一旦定义了一个String之后,如果改变它的内容,那么需要在内存地址中新建一个位置给新的内容, 这样的话,如果改动很频繁的话,就会对内存造成很大的消耗,而用StringBuffer的话,不管你怎么改动里面的内容,在内存中只是那么一块,不用消耗多的内存 楼上正解我一般是在做字符拼接时用StringBuffer StringBuffer sb=new StringBuffer("hehhehe");sb.delete(0,sb.length-1);或者:sb.replace(0,sb.length-1,""); StringBuffer sb=new StringBuffer("hehhehe"); sb.delete(0,sb.length-1); 或者:sb.replace(0,sb.length-1,"");貌视不用length()-1 大概的楼上几位都说了,但是单线程的情况下StringBulder比起StringBuffer快点! 答:1)简便且更快的方法是:sb.setLength(0);时间复杂度O(1)级2)在字符串的插入、添加、删除、修改时用它。 delete(int start, int end),自己多查api,不用什么问题都来这问的,这问多慢的,实在查不到,网上也找不到再去问问别人或者来这,这样才能有提高啊,呵呵,个人一点不成熟的建议 字符拼接的时候用stringbuffer,可以看编程思想关于String的介绍。目前如果不需要线程安全的话使用stringbuilder要比stringbuffer快一点。jvm优化string拼接的时候使用的是stringbuilder 呵呵....只有当经常需要改变字符串内数据的时候才用平时用STRING就好了 StringBuffer使用的情况是如果需要调用很多次字符串之间的相加操作的时候就需要使用StringBuffer,然后将得出来的结果最后用toString重新获得字符串就好了,他的清空就是delete();方法! java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。(网载) String,StringBuffer都用,sb.setLength(0); delete能用StringBuilder就用StringBuilder不行的话,再考虑用StringBuffer StringBuffer sb=new StringBuffer("hehhehe"); sb.appand("aaa");sb=new StringBuffer(); //这样就清空了 哈哈 清空有两种方式:buff.setLength(0);buff.delete(0,buff.length);一般在拼接字符串操作时使用,如果在多线程下的话使用StringBuffer,单线程的话使用StringBulder 求一详细介绍javascript的电子书籍 StringBuffer sb = new String,StringBuffer();sb.setLength(0);//清空 buf.delete(0, buf.length());或者buf.setLength(0) 没事呀,如果要求效率用Stringbuilder,然后你可以点toString()方法啊 上面说的都很全。StringBuilder 主要还有一个特点就是:他是县城安全的。你再查查看。 多线程下用StringBuffer,单线程下用StringBuilder。 如果清空之后还需要append,则建议使用delete方法清空,这样高效 LZ的清空是什么意思呢如果后面都不用了,那就直接赋值为null如果后面还要用的话,就用LS说的sb.delete(0,sb.length-1);或者:sb.replace(0,sb.length-1,"");sb.setLength(0); 嘿嘿,这个不错哈,StringBuilder是不是线程不安全呢? StringBuffer sb=new StringBuffer("asdasdasd");sb.delete(0,sb.length()-1)lsb.setLength(0)新手学习,自己打一遍加深印象 为啥要length()-1呢,这个是错的,只接length StringBuffer buffer = new StringBuffer("QAZ");buffer.delete(0, buffer.length()); 学习了。 多看API 类方法没问题! 这位MM的签名怎么是不懂Java啊。。 new StringBuffer();这样清空最快最简单 美国中心时区问题 求解java正则表达式 汉字转拼音码如何去除英文字母和数字? 关于正则表达式在各语种的兼容问题 字符串-->hex-->字符串 捕获异常或抛出异常时机 java与mysql做连接时‘JDBC驱动’的环境变量该怎么配置 关于URL编码 奇怪的输出。。。 insert问题(初学者) java 控制热敏打印机打印图像 各位大哥大姐,做视频聊天程序,哪些工具搭配比较合适啊?
多查查api
注意:delete不是静态方法,需要实例化一个StringBuffer
我一般是在做字符拼接时用StringBuffer
sb.delete(0,sb.length-1);
或者:sb.replace(0,sb.length-1,"");
sb.delete(0,sb.length-1);
或者:sb.replace(0,sb.length-1,"");貌视不用length()-1
1)简便且更快的方法是:sb.setLength(0);时间复杂度O(1)级
2)在字符串的插入、添加、删除、修改时用它。
平时用STRING就好了
sb.setLength(0);
sb.appand("aaa");
sb=new StringBuffer(); //这样就清空了 哈哈
一般在拼接字符串操作时使用,如果在多线程下的话使用StringBuffer,单线程的话使用StringBulder
或者
buf.setLength(0)
你再查查看。
如果后面都不用了,那就直接赋值为null
如果后面还要用的话,就用LS说的
sb.delete(0,sb.length-1);
或者:sb.replace(0,sb.length-1,"");
sb.setLength(0);
sb.delete(0,sb.length()-1)l
sb.setLength(0)新手学习,自己打一遍加深印象
StringBuffer buffer = new StringBuffer("QAZ");
buffer.delete(0, buffer.length());