Java 空字符串等于 NULL

标签 java string hibernate null struts

我有以下问题:

我们正在使用 HibernateStruts 编写一个 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/

相关文章:

java - 如何使用 drawElements 和索引数组使用 OpenGL ES 渲染四边形?

java - 添加到表后读取数据返回零

java - 检查 IPv4 地址是否在私有(private)范围内

c - 二叉搜索树中的搜索函数导致段错误

c - 使用C语言从表中提取相关数据

java - 在 JAVA 的静态 Web 服务中处理复杂对象的最佳实践是什么

spring - 在事务函数中,调用clear() 分离所有实体?

java - 如果没有 Activity 事务,createCriteria 无效

java - java中将字符串转换为变量

java - 组织.hibernate.MappingException : Repeated column in mapping for entity