イミュータブル・クラスの意味はわかったが、C++のconst type &とは根本的に違うよな。
クラスがイミュータブル・クラスでなければ、書き換え禁止で参照渡しすることはできないんだよね。

どんなクラスでも、イミュータブルにできるわけじゃないし。解決にはならない。
結局、安全面を妥協して書き換え可能な形で参照返すか、実行効率を犠牲にしてコピーを作成するしか無いんだよね。

俺は、普段はC++を使っていて、Javaを毛嫌いしているわけじゃないが、この仕様だけには納得がいかなかった。