我正在使用servlet来做一系列的事情.
如果某个特定参数"t"不存在,我想进行某些类型的处理,如果是,我想做不同的事情.
我正在尝试使用以下条件测试参数t(我将其保存为名为editType的String):
String editType = request.getParameter("t");
if(!editType.isEmpty()||!(editType==null)){
//processing here
}
Run Code Online (Sandbox Code Playgroud)
我如何正确地进行此测试,因为我遇到了nullpointerexception的问题,因为我的代码似乎总是期望"t"的值我需要能够创建一个不期望t的条件(允许它是null),并在那里进行处理.
Ada*_*kin 15
您需要稍微重新排序比较,特别是首先检查null:
String editType = request.getParameter("t");
if(editType!=null && !editType.isEmpty()){
//processing here
}
Run Code Online (Sandbox Code Playgroud)
您遇到的问题是Java正在尝试isEmpty()在null对象上调用该方法,这就是您需要先检查的原因null.
Java使用短路评估,这意味着它将从左到右检查您的条件,一旦找到一个可以让它决定整个条件的结果,它就会停止评估.因此,如果editType最终为null,Java将停止评估整个if语句,并且不会尝试调用isEmpty()(这将导致a NullPointerException).
| 归档时间: |
|
| 查看次数: |
18613 次 |
| 最近记录: |