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

我正在从数据库中检索一些信息,我想检查该值是否为空。虽然从数据库中检索到的字符串是“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

            }    

请注意,数据库没有存储任何数据。


蓝山帝景
浏览 101回答 3
3回答

慕后森

正如“Eran”所指出的,in 中的值code可能是一个null参考。做,if (code == null)代替if (code.equals("null")==true)这可能是因为当您调用它的方法时rs对象返回。当列值为 SQL NULL 时将返回。(参考)nullgetString()ResultSetnull

白板的微信

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

繁星淼淼

它打印是。所以我不认为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}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java