★★Java質問・相談スレッド165★★at TECH
★★Java質問・相談スレッド165★★ - 暇つぶし2ch38:デフォルトの名無しさん
13/10/24 21:38:19.31
Swingのライブラリを使っている上で気になったのですが、

例えば、JFrameのsetSize(Dimension d)は縦横のプリミティブ値を
コピーしたものをsetしているけど、setLayout(LayoutManager manager)は
LayoutManagerのインスタンスの参照を直接setしてますよね?

このように、あるクラスAのsetメソッドの引数がプリミティブ型ではなく、
あるクラスBのインスタンスの参照を渡すようになっている場合において、
そのAのsetメソッドの中で、Bのインスタンスの参照が直接setされるのか、
Bのフィールドの値をコピーしてsetするのか、どちらを行なっているのかを
知るためには、ライブラリのドキュメントを確認するしかないのでしょうか?

setメソッドだけではなく、その他の参照を引数に取るメソッドや、
参照が戻り値になってるメソッドにおいても、色々と怖いような気がします

もし、Javaの基本原則として「参照を直接setしちゃダメ(もしくは逆)」みたいな
暗黙の規則があるのならばそれも教えていただきたいです


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch