今天对于一个人发帖,我看一下,想看看关于:
for(int i=0;i<100;i++){
str = str + i;//(1)不推荐
sb.append(i+"");//(2)推荐
}我想看一下java的源代码,看对于String 的并接源代码。看看对于第一种情况是不是会有“String->StringBuffered->String”的转换。
好像java的源代码没有哦···
for(int i=0;i<100;i++){
str = str + i;//(1)不推荐
sb.append(i+"");//(2)推荐
}我想看一下java的源代码,看对于String 的并接源代码。看看对于第一种情况是不是会有“String->StringBuffered->String”的转换。
好像java的源代码没有哦···
stringBuffer是直接在末尾追加,所以用stringBuffer效率更高
对于String 类,有一个字符串并接,也就是“+”,操作符的运算。
对于 String s = "a" + "4" + "b";
等价于:
String s = new StringBuffered().append("a").append("4").append("b").toString();
(这里是合并着写)。
1、想看源码的话,需要导入类的原包,你要是想看String类的,好说不用去下载原包,jdk里自带。鼠标点在String类上按F3或者按住ctrl左键单击,会出来一个窗口,提示你打不开.class文件,你选择右边的第二项,好像是什么“.. a file”,定位到你的原包就行了,自带的原包在jdk根目录下,叫src.zip,不懂的再问我。
2、我的博客里有关于String类的详细介绍,地址http://blog.csdn.net/zhangerqing。去看看,肯定有你需要的!
java语法对字符串连接操作 + 和对象转换字符串提供了特别的支持。字符串连接是使用了Stringbuilder(或者StringBuffer)类和它的append方法。字符串转换通过使用了toString方法,这方法在object中定义,并被所有的java类继承。
=================================================
关于+操作是java中仅有的运算符重载,并且是通过编译器实现的。
http://www.oschina.net/question/129471_37540