オブジェクトをフィールドとして持つデータベースから取得したデータを格納するために使用しているクラスがあります。
null
ポインターの問題を回避するために、クラスがインスタンス化されるときにオブジェクトを初期化したいと考えています。
Strutsで問題が発生する可能性があるため、フィールド宣言でフィールドを初期化すべきではないことをどこかで読んだと思ったので(ただし、現在ステートメントが見つかりません)、コンストラクターでフィールドを初期化しています。
私の質問は:
あなたがそれをどのように行うかは重要ですか?それとも、クラスをインスタンス化した後にのみ、新しいオブジェクトを配置する必要がありますか? つまり、クラスを次のように定義する必要があります。
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;
public MenuView(){
projectInfo = new ProjectInfo();
partyInfo = new PartyInfo();
requestTableInfo = new RequestTableInfo();
partyRequestInfo = new PartyRequestInfo();
}
その後にゲッターとセッターが続きます。
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo = new ProjectInfo();
private PartyInfo partyInfo = new PartyInfo();
private RequestTableInfo requestTableInfo = new RequestTableInfo();
private PartyRequestInfo partyRequestInfo = new PartyRequestInfo();
public MenuView(){ }
ゲッターとセッターが続くか、次のようになります。
public class MenuView implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private ProjectInfo projectInfo;
private PartyInfo partyInfo;
private RequestTableInfo requestTableInfo;
private PartyRequestInfo partyRequestInfo;
public MenuView(){}
その後にゲッターとセッターが続き、次のようにインスタンス化します。
MenuView menu = new MenuView();
menu.setProjectInfo(new ProjectInfo);