Strutsと防御的コピー
久し振りにJava。FindBugsというフリーのコードチェックツールを使ってStrutsのActionFormサブクラスをチェックしたら配列のメンバ変数が防御的コピーになっていないと怒られました。が、下のように防御的コピーを施したら動きませんでした。FormがHttpリクエストからデータを取得するときの処理を一度見てみよう。
public class Sample{
String array = null;//ゲッター・セッター
public void setArray(String array){
this.array = (String)array.clone();
}public String getArray(){
return (String[])this.array.clone();
}
}