publicfinalclassStringimplementsjava.io.Serializable, Comparable<String>, CharSequence {/** The value is used for character storage. */privatefinalchar value[];//我们可以看出最后使用的是一个char[]来接收的publicString(String original){this.value = original.value;//将我们传入的参数放入了value中this.hash = original.hash;}//截取的是一部分代码,详细的请看源码
The Java language provides special support for the string
concatenation operator ( + ), and for conversion of
other objects to strings. String concatenation is implemented
through the {@code StringBuilder}(or {@code StringBuffer})
class and its {@code append} method. 这句话的大概意思就是:字符串的相加使用底层进行了优化是重新new了一个StringBuffer或者StringBuilder他们的append()方法进行字符串的拼接实现的;!在图中我们不难看出 1:1,2,是生成的两个变量 2:3,是new了一个StringBuilder 3:4,使用的是append方法进行的添加操作