String类原生的字符串处理方法
short s=1;s=s+1;与short s=1;s+=1;的区别
一、“+” 操作符
“+” 操作符是字符串拼接最常用的方法之一。编译的时候会把 “+” 操作符替换成了 StringBuilder 的 append 方法。
二、StringBuilder(非线程安全)
StringBuilder 的 append 方法就是第二个常用的字符串拼接方法。源码如下:
public StringBuilder append(String str) {
super.append(str);
return this;
}
这 3 行代码比较简单,看下父类 AbstractStringBuilder 的 append 方法:
public AbstractStringBuilder append(String str) {
if (str == null)
return appendNull();
int len = str.length();
ensureCapacityInternal(count + len);
str.getChars(0, len, value, count);
count += len;
return this;
}
①判断拼接的字符串是不是 null,如果是,当做字符串“null”来处理。appendNull 方法的源码如下:
private AbstractStringBuilder appendNull() {
int c = count;
ensureCapacityInternal(c + 4);
final char[] value = this.value;
value[c++] = 'n';
value[c++] = 'u';
value[c++] = 'l';
val