为了账号安全,请及时绑定邮箱和手机立即绑定

为什么检索到的结果集字符串不适用于 .equals()

为什么检索到的结果集字符串不适用于 .equals()

蓝山帝景 2022-12-28 14:00:32
我正在从数据库中检索一些信息,我想检查该值是否为空。虽然从数据库中检索到的字符串是“null”,但是 equals() 返回 false。我尝试了 trim(),以防万一检索到的字符串中有任何空格     String code = product.retrieveCode();            System.out.println("the code is :"+ code);            if (code.equals("null")==true){                  // do this             }            else{                //   do that            }    请注意,数据库没有存储任何数据。
查看完整描述

3 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

正如“Eran”所指出的,in 中的值code可能是一个null参考。做,

if (code == null)

代替

if (code.equals("null")==true)

这可能是因为当您调用它的方法时rs对象返回。当列值为 SQL NULL 时将返回。(参考nullgetString()ResultSetnull


查看完整回答
反对 回复 2022-12-28
?
白板的微信

TA贡献1883条经验 获得超3个赞

您的逻辑和语法是正确的。在这种情况下,您的数据库值可能正在为代码分配空值,并且您正在检查字符串“null”是否等于代码。这将给出错误,因为它是空引用。确保你得到一个“空”,否则如果它是空的,只需检查是否等于空格



查看完整回答
反对 回复 2022-12-28
?
繁星淼淼

TA贡献1775条经验 获得超11个赞

它打印是。所以我不认为java做错了什么


String code = "null";

if (code.equals("null")){  

     System.out.println("Yes");

} else{

   //   do that

}

我认为这是一个空引用。请执行以下代码。


if (code==null){  

   System.out.println("Yes");

} else{

       //   do that

}


查看完整回答
反对 回复 2022-12-28
  • 3 回答
  • 0 关注
  • 100 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信