String使用注意二
public class StringNote_1{
?public void fun(){
??for(int i=1;i<100;i++){
???System.out.print(i+"+");?//此語句很耗時(shí)間影響性能
??}
??System.out.println("100");
?}
?public void fun1(){??
??String text="";
??for(int i=1;i<100;i++){
???text=text+i+"+";
??}
??System.out.println(text+"100");
?
??//此方法的反編譯的代碼如下,不難發(fā)現(xiàn)for循環(huán)中每執(zhí)行一次連接操作(+)都會(huì)new 一個(gè)StringBuilder()對象,影響性能?
?}?
//StringBuilder比StringBuffer處理字符效率要好一些,
//但StringBuilder不處理多線程同步問題而StringBuffer處理多線程同步問題
?/*
??public void fun1() {
???String str = "";
???for (int i = 1; i < 100; i++) {
???? str = new StringBuilder().append(str).append(i).append("+").toString();
???}
???System.out.println(new StringBuilder().append(str).append("100").toString());
??}
?*/
?public void fun2(){
??StringBuilder text=new StringBuilder();
??for(int i=1;i<100;i++){
???text.append(i).append('+');
??}
??System.out.println(text+"100");
?}
?public static void main(String[] args){
??StringNote_1 s=new StringNote_1();
??s.fun();
??s.fun1();
??s.fun2();
?}
}
總結(jié)
以上是生活随笔為你收集整理的String使用注意二的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: String使用注意一
- 下一篇: 摩尔庄园小镇怎么升级