★★Java質問・相談スレッド165★★
■ このスレッドは過去ログ倉庫に格納されています
0038デフォルトの名無しさん
2013/10/24(木) 21:38:19.31例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を
コピーしたものをsetしているけど、setLayout(LayoutManager manager)は
LayoutManagerのインスタンスの参照を直接setしてますよね?
このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、
あるクラスBのインスタンスの参照を渡すようになっている場合において、
そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、
Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを
知るためには、ライブラリのドキュメントを確認するしかないのでしょうか?
setメソッドだけではなく、その他の参照を引数に取るメソッドや、
参照が戻り値になってるメソッドにおいても、色々と怖いような気がします
もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな
暗黙の規則があるのならばそれも教えていただきたいです
■ このスレッドは過去ログ倉庫に格納されています