★★Java質問・相談スレッド158★★
■ このスレッドは過去ログ倉庫に格納されています
0421デフォルトの名無しさん
2013/01/04(金) 06:49:01.15不変オブジェクトのために、constは要らないと思う。
クラスの中に可変フィールドがあってもいいのよ、不可視なら。
例えば java.lang.String は不変オブジェクトだけど、
#hashCode() をキャッシュするために private int hash; って可変フィールドがある。
結局現状のJavaの仕組みだと、オブジェクトが不変かどうか、作者しか解らないんだよね…。
しかも「不変かどうか」ってのはJavaでは超重要で、間違えるとCollectionがぶっ壊れるという……。
>>413
自分で自由に書けるときは、「原則として不変オブジェクトとする」っていう俺ルールで書いてる。
Box myBox = srcBox.x(10).y(20).width(30).height(40); みたいに。
内部値を変更する代わりに内部で毎回newして返すんだけど、マルチスレッドも楽に書ける。
代わりにGCが頑張ってくれる。
■ このスレッドは過去ログ倉庫に格納されています