- 427 名前:デフォルトの名無しさん mailto:sage [2013/06/30(日) 03:31:57.59 ]
- > getAllRecords
仕様をはっきりさせるべきだろうね。今のコードでは確かに新しいレコードの 追加は出来ないけれども、個々のレコードの中の値の書き換えは出来る。 シャローコピーだから。それが嫌ならディープコピーを実装するしかない。 ディープコピーまでは不要、書き換え可能は承知で単にレコードの集合を参照 可能にしたいだけなのであればやはり返値は配列ではなくListにして、 return Collections.unmodifiableList(records);とでもするのが実装も簡単 だし全件コピーに比べてオーバーヘッドも少ない。 mainの中のループもfor(Object[] record: table.getAllRecords()){ ...と でもした方が読みやすい。
|

|