如何修复Java系统属性错误

bla*_*hli 0 java null properties exception

我使用properties-D方法在命令行上向jar 文件提供参数。这是代码:

        String prop1 = "one";  

        String val1 = System.getProperty(prop1);  

        System.out.println(val1);
Run Code Online (Sandbox Code Playgroud)

这是可行的,但是当我尝试在更大的程序中实现它时,奇怪的事情发生了。如果没有参数,这将打印null,这很好。但是,如果我随后执行类似的操作boolean test = val1.equals(null);,我会遇到似乎与我提供的代码无关的问题。有什么想法吗?

Gui*_*let 5

您遇到 a 是NullPointerException因为您尝试对空引用求值方法。如果 val1 为 null,则无法调用其方法。如果您想测试 null,则应该使用 进行测试==

if (val1==null)
   // doSomething
Run Code Online (Sandbox Code Playgroud)

或者

if(val1!=null && val.equals("aValue")) {
    // Do something
}
Run Code Online (Sandbox Code Playgroud)