在java中断言后的NullPointerException

GCo*_*Con 2 java assert nullpointerexception

以下方法是名为election_date的字段的setter,其类型为java.util.date.它是tomcat应用程序的一部分.

执行时,我在行上得到一个Null指针异常:

    System.out.println("ELECTION DATE: " + this.election_date.toString());
Run Code Online (Sandbox Code Playgroud)
public void setElection_date(Date election_date) {

    this.election_date = election_date;
    assert (this.election_date != null);
    assert (this.election_date.toString()) != null;
    System.out.println("ELECTION DATE: " + this.election_date.toString());
}
Run Code Online (Sandbox Code Playgroud)

编辑:请不要告诉我这是垃圾收集.我可能稍微离开巴尔默峰,但距离那不远.

Mar*_*szS 5

默认情况下禁用断言.你的变量election_datenull.

在运行Tomcat之前添加-eaJAVA_OPTS.

使用断言进行编程:启用和禁用断言

默认情况下,在运行时禁用断言.两个命令行开关允许您有选择地启用或禁用断言.

要以各种粒度启用断言,请使用-enableassertions-ea,switch.要禁用各种粒度的断言,请使用-disableassertions或-da,switch.

另请看问题:如何在Tomcat中启用java断言