我有以下问题:
我们正在使用 Hibernate 和 Struts 编写一个 Web 应用程序。提交后,我想检查数据库更新是否已执行。因此,我将对象从数据库中取出,并将其与表单中的数据进行比较(假设我有一个 Person
对象,其中包含一些属性,例如 Name
、地址
等)。
现在,如果 Web 表单上的字段 Address
为空,则表单属性将为我提供一个 ""
(空字符串)。如果我获取从 DB 对象获取的 Address
属性并将其与表单属性进行比较,则比较将返回 FALSE
因为我比较 ""
(空字符串)与 NULL
显然是不一样的。
我尝试了以下方法:
if (StringUtils.equals(formObj.getAddress(), dbObj.getAddress())) {
dbObj.getAddress(formObj.getAddress());
dbObj.update();
}
if (ObjectUtils.equals(formObj.getAddress(), dbObj.getAddress())) {
dbObj.getAddress(formObj.getAddress());
dbObj.update();
}
我的问题是:是否有一种方法可以将这些值与字符串值进行比较,从而 ""== NULL
将返回 TRUE
?
最佳答案
不,因为它们不一样。 ""
与 null
非常不同。
现在,如果您想要这种行为,请编写一个自定义方法:
static boolean checkIfEmptyOrNull(String s1, String s2) {
//check for empty and null
return myBooleanValue;
}
将其标记为静态,因为这应该是一个助手(并且可能也应该进入助手类)
关于Java 空字符串等于 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28541411/