字符串进行拼接方法:加号、contact方法和StringBuffer(StringBuilder)
也可以用 ( ):
public static String valueOf(Object obj) {
return (obj == null) ? "null" : ();
}
1.“+”方法拼接字符串
在基础类前面加一个空串(”“+1)是最简单的方法,这个表达式的结果就是一个String,在这之后你就可以随意的进行字符串拼接操作了——编译器会自动将那些基础类型全转化成String的。但是这是这是最糟糕的实现方法(注意,这里不是确定量即常量字符串相加,因为如果是常量字符串相加,编译器会直接优化)。
当相加的字符串中包含不确定量(变量)时,string_exp + any_exp
编译器将“+”编译为StringBuilder实现:new StringBuilder().append( string_exp ).append( any_exp ).toString()
,如果表达式里有多个+号的话,后面相应也会多多几个的调用,最后才是toString方法。
它每次拼接都会创建一个StringBuilder对象,并且还要调用toString()方法将其转换为字符串,这样性能就大大降低了。
2 ()方法拼接
源码:
public AbstractStringBuilder append(String str){
//如果为null值,则把null作为字符串处理
if(str==null) str = "null";
int len = str.length();
//字符长度为0,则返回本身
if(len == 0) return this;
int newCount = count +len;
//追加后的字符数组长度是否超过当前值
if(newCount > ()){
//加长,并做数组拷贝
expanCapacity(newCount);
}
//字符串复制到目标数组
str.getChars(0, len, value, count);
count = newCount;
return this;
}
转载链接:
/java/2014/03/24/;
/0x00000000/archive/2012/06/08/string_append.html#top;
./5235631/1327724