Java中字符串和boolean类型进行拼接原理
字符串和boolean类型进行拼接,java底层做的就是使用StringBuilder进行拼接。了解原理就需要去查看java底层代码。源码如下
//字符串+号拼接默认调用StringBuilder的append方法,源码如下
@Override
public StringBuilder append(boolean b) {
super.append(b);
return this;
}
-------------------------------------
/*
代码跟进到StringBuilder的父类中,其父类是个抽象类,但是已经实现了此方法。
代码中显而易见,就是扩充了数组(java8中String底层默认是char数组进行存储,
而在java9中改用byte数组进行存储),然后在每个数组位置上填充上这个boolean值。
*/
public AbstractStringBuilder append(boolean b) {
if (b) {
ensureCapacityInternal(count + 4);
value[count++] = 't';
value[count++] = 'r';
value[count++] = 'u';
value[count++] = 'e';
} else {
ensureCapacityInternal(count + 5);
value[count++] = 'f';
value[count++] = 'a';
value[count++] = 'l';
value[count++] = 's';
value[count++] = 'e';
}
return this;
}
String类型还可以和其他基本数据类型进行拼接,至于其他的源代码就靠大家自己了。