如何检查一个字符是否为空

新手上路,请多包涵

我想检查 char 是否为空?但为什么这段代码不起作用? letterChar == null 也不起作用。我用谷歌搜索了很多问题,但没有看到任何解决方案,大部分解决方案都是关于 String

 String letter = enterletter.getText().toString();
char letterChar = letter.charAt(0);

if(letterChar == ' ' || letterChar == NULL) // this is where the code won't works
{
    Toast.makeText(getApplicationContext(), "Please enter a letter!", Toast.LENGTH_LONG).show();
}

原文由 Cheeseburger 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 341
2 个回答

A char 不能是 null 因为它是一个原语所以你不能检查它是否等于 null 你必须找到一个解决方法,

您还想检查 letterChar == ' ' 是空格还是空字符串?因为你在那里有空间。

此处 的前两个答案可能有助于您如何 首先 检查 String letter 是否为 null。

char letterChar 转换为 int 并检查它是否等于 0 因为 char 的默认值为 \u0000 - (在 asci nul 字符上当你说 letterChar == null )- 时,你正在检查的空引用将是 0

原文由 shmuels 发布,翻译遵循 CC BY-SA 4.0 许可协议

char 是原始数据类型,因此不能用于检查 null。

对于您的情况,您可以这样检查。

         if (letterChar  == 0) //will be checked implicitly
        {
            System.out.println("null");
        }
        //or use this
        if (letterChar  == '\0')
        {
            System.out.println("null");
        }

原文由 user12196216 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题