一、值传递
java中只有一种传递,值传递,若参数是引用类型传递的是引用参数的副本,这个副本存放的是参数的地址。如果参数中没有改变这个副本的地址,而是改变了地址中的值,那么在函数内的改变会影响到传入的参数。如果在函数中改变了副本的地址,如new了一个,那么副本就指向了新的地址,此时传入的参数还是指向原来的地址,所以不会改变原来的值。
二、String、StringBuffer与StringBuilder
String 长度不可变,每次改变String内容都会再重新创建对象。
StringBuffer 可变线程安全。
StringBuilder 可变线程不安全,效率高。