Java条件运算符未返回正确的值

时间:2017-06-16 06:09:53

标签: java if-statement operators

我的情况是我需要设置一个变量的值

守则

employee.setType(!checkEmpty(e.getType()) ? propertyBean.getString(e.getType()) : "");

此处,type变量为String,如果字符串为checkEmpty(String s)null,则""会返回true。

propertyBean.getString()用于使用

从属性文件中获取密钥
ResourceBundle propertyBean= ResourceBundle.getBundle("FileName");

checkEmpty()的代码

public static boolean checkEmpty(String val) {
    return (val == null || val.trim().equals(""));
}

现在e.getType的值为NULL,这段代码给我一个错误

java.util.MissingResourceException: Can't find resource for bundle    java.util.PropertyResourceBundle

理想情况下,它不应该给我这个错误。为了解决这个问题,我将条件改为

employee.setType(checkEmpty(e.getType()) ? "" : propertyBean.getString(e.getType()));

现在工作正常。有人可以解释一下为什么第一个不起作用。

由于

0 个答案:

没有答案