servlet request.getParameterValues(fieldName)返回null并抛出异常

use*_*898 0 java servlets nullpointerexception

我想得到参数值,有时我不发送它们,它返回我null ,它的确定.但是当我预先检查返回字符串数组时,servlet会抛出一个java.lang.NullPointerException

而且当它为null时我无所事事.(继续流程)

String[] values = null; 
if(request.getParameterValues(fieldName).length>0)
{
    values = request.getParameterValues(fieldName);

    if(null!=values || values.length>0) // HERE IT throws NullPointerException 
    {
        Collections.addAll(strlist, values);
    }
}
Run Code Online (Sandbox Code Playgroud)

Sud*_*hul 6

它应该是

if(null!=values && values.length>0)
Run Code Online (Sandbox Code Playgroud)

因为,如果你的值是null(求值false),OR你的语句中的条件执行的另一部分OR抛出了NPE.

如果你在&&那里,那么当它遇到一个at 时,它会短暂地进行语句评估.falsenull!=values