Bean类的Setter方法

时间:2014-05-03 11:06:47

标签: java javabeans

你好朋友我试图从其他Setter方法调用Setter方法但是我得到了nullPointerException。可以从其他setter调用setter方法。

这是我的bean类: -

public class ApplicationParameterListEntityTo{
private Long statusValueID;    
private WidgetFieldValueBean1 parameterListStatusValueID;

public Long getStatusValueID() {
    return statusValueID;
}

public void setStatusValueID(Long statusValueID){
    this.statusValueID = statusValueID;
    this.parameterListStatusValueID.setWidgetFieldValueID(statusValueID);
}
public WidgetFieldValueBean1 getParameterListStatusValueID() {
    return parameterListStatusValueID;
}

这种代码的和平是否存在任何问题。

3 个答案:

答案 0 :(得分:2)

以下行可能会给你空指针

  this.parameterListStatusValueID.setWidgetFieldValueID(statusValueID);

因为在调用WidgetFieldValueBean1 parameterListStatusValueID方法之前未初始化setWidgetFieldValueId对象

您需要执行类似

的操作
this.parameterListStatusValueID = new WidgetFieldValueBean1 ();//Considering it has a default constructor
 this.parameterListStatusValueID.setWidgetFieldValueID(statusValueID);

答案 1 :(得分:0)

查看您的setStatusValueID方法。由于parameterListStatusValueID永远不会被初始化,因此它是null,因此对它的每次访问(例如,这种方法)都会产生NullPointerExcetpion

解决此问题的一种方法是在定义中初始化它:

public class ApplicationParameterListEntityTo {
    private Long statusValueID;    
    private WidgetFieldValueBean1 parameterListStatusValueID = new WidgetFieldValueBean1();

    ...

答案 2 :(得分:0)

您需要初始化成员变量parameterListStatusValueID,例如:

private WidgetFieldValueBean1 parameterListStatusValueID = new WidgetFieldValueBean1();