=
ホーム
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はおうちでぬりえ 鉄道会社公式の電車ぬりえをまとめた
【調査】ゾンビランドサガ から佐賀に関連があるものを調べる 第4話
【MySQL】文字列をバイト数で切り取る
【考察】シンカリオン 名前の由来を考察 -キトラルザス編-
【まとめ】おうちでペーパークラフト 鉄道会社公式のペーパークラフトをまとめた
フォロワー
On Your Mark
QooQ
0 件のコメント:
コメントを投稿