作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 servlet 来执行一系列操作。
如果特定参数“t”不存在,我想做某些类型的处理,如果存在,我想做不同的事情。
我正在尝试使用以下条件测试参数 t(我将其保存为名为 editType 的字符串):
String editType = request.getParameter("t");
if(!editType.isEmpty()||!(editType==null)){
//processing here
}
我如何正确地进行这个测试,因为我遇到了空指针异常的问题,因为我的代码似乎总是期望“t”的值,我需要能够创建一个不期望 t 的条件(允许为空),并在其中进行处理。
最佳答案
您需要稍微重新排序比较,特别是首先检查 null
:
String editType = request.getParameter("t");
if(editType!=null && !editType.isEmpty()){
//processing here
}
您遇到的问题是 Java 正在尝试调用 null
对象上的 isEmpty()
方法,这就是为什么您需要检查 首先为空
。
Java使用Short-circuit evaluation ,这意味着它将从左到右检查您的条件,一旦找到可以决定整个条件结果的条件,它将停止评估。因此,如果 editType
最终为 null,Java 将停止计算整个 if
语句,并且不会尝试调用 isEmpty()
(这会导致结果是 NullPointerException
)。
关于java - 想要测试查询字符串中的参数值是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2378015/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!