字符串优化这段代码求高手解释一下为什么要这样优化这样优化后有什么好处在此感谢

MyThink 发布于 2013/09/08 11:12
阅读 212
收藏 0

String str="你好";

for(int i=0;i<10;i++){

str+="j";

}

System.out.println(str);这段代码为什么要这么优化啊,这么优化有什么好处呢求高手解释。

加载中
0
kiwivip
kiwivip
看不懂
0
Cjie2000
Cjie2000
这是要拼接字符串么。。。为什么不用StringBuilder。。。
0
我已经报警了
我已经报警了

new 了十个String


0
SNY
SNY

真那么想注重效率?

char[] str = new char[10];
final char j = 'j';
for (int i = 0; i < 10; i++) {
    str[i] = j;
}
String result = new String(str);
System.out.println(result);

0
星爷
星爷

一般都StringBuilder来处理这种,至于为什么这样优化,因为这样的话,每次生成的字符串都会到字符串常量池去寻找,如果找到,则直接用引用,找不到则生成到常量池里。

0
徐迎龙
徐迎龙
其实都一样,这段代码编译好以后,你去反编译,就会发现,已经转换成StringBuffer了,所以你不用关心它的效率,这要得益于编译器的优化了
返回顶部
顶部