你好朋友我试图从其他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;
}
这种代码的和平是否存在任何问题。
答案 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();