immutable不是不能修改reference值,是不能修改object裡面的data,你還是直接看上面的C#的範例...既然會C++也給你一個C++版
http://ideone.com/DSzyGI不是我覺得,是java的reference變數真的就是pointer改是改pointer指的位址,但是在call by value的時候改不動caller func裡面的pointer變數很明顯就call by value/call by reference的差別啊..btw auto-boxing是指對只吃Object子class的地方(如list)自動包wrapper,unboxing是在assign給primitive變數的時候自動改為取值(.xxxValue)而不是assign reference如果全程都是直接用Integer這個class,那與一般class沒差別把Integer assign給Integer變數是不會有auto-box/unbox行為