每當把String對象做爲方法的參數時,都會複製一份引用。而該引用所指的對象其實一直待在單一的物理位置上,從未動過。app
String對象是不可變的,你能夠給一個String 對象加任意多的別名,由於String對象具備只讀特性,因此指向它的任何引用都不可能改變它的值,所以也就不會對其餘引用有什麼影響ui
String + String 是JAVA中惟一的操做符重載,其內部也是用StringBuilder來完成的,可是若是遇到複雜的字符串拼接,諸如循環:仍是用StringBuilder來完成效率高。+號的方式內部每次循環都會建立一個StringBuilder。 另外使用StringBuilder的 append()方法,千萬不要用以下寫法例如:append(a+":"+c)這就會掉入陷阱,底層實現就會屢次建立StringBuilderspa