=
ホーム
On Your Mark
ホーム
/
設計(Java)
/
【Java】 Effective Java 第二版 お勉強 防御的コピー
2013年11月28日木曜日
Java
基本
設計(Java)
t
f
B!
P
L
# メソッド ## 今日 読んだところ P 178~181 ## 項目 必要な場合には、防御的コピーをする<br /> ## 防御的コピー 可変オブジェクトを自分以外から破壊されないようにコピーして使う。<br /> 例えば、setterで可変オブジェクトを指定して、<br /> そのオブジェクトを直接変更したら、setterでセットしたオブジェクトは参照しているので変更されてしまう。<br /> そうならないよう、setterで防御的コピーを行う。<br /> <pre> public void setDate(Date date) { // 防御的にコピーすることで、 // 外部でdateを変更されても問題ない this.date = new Date(date.getTime()); } </pre> さらにアクセッサーでも防御的コピーをすることで、<br /> 外部で自由に使われても問題ない。<br /> <pre> public Date getDate() { // 防御的にコピーする return new Date(date.getTime()); } </pre> 思わずここまでするのか?っと思ってしまったが、<br /> 確かにこれならどんな使われ方をしても問題ない。<br /> ただ、ボコボコオブジェクトを生成するので、<br /> 個人的には微妙だ・・・。<br />
Translate
このブログを検索
ブログアーカイブ
►
2020
(38)
6月 2020
(6)
5月 2020
(10)
4月 2020
(10)
3月 2020
(4)
2月 2020
(5)
1月 2020
(3)
►
2019
(4)
1月 2019
(4)
►
2018
(23)
12月 2018
(3)
4月 2018
(11)
3月 2018
(9)
►
2014
(20)
7月 2014
(3)
1月 2014
(17)
▼
2013
(166)
12月 2013
(15)
11月 2013
(22)
10月 2013
(31)
9月 2013
(26)
8月 2013
(32)
7月 2013
(40)
今週の人気の記事
【まとめ】GWはおうちでぬりえ 鉄道会社公式の電車ぬりえをまとめた
【MySQL】文字列をバイト数で切り取る
【まとめ】おうちでペーパークラフト 鉄道会社公式のペーパークラフトをまとめた
【PHP】PHPでSFTP接続
【調査】ゾンビランドサガ から佐賀に関連があるものを調べる 第4話
フォロワー
On Your Mark
QooQ
0 件のコメント:
コメントを投稿