【问题标题】:How to check a string that not empty in java? [duplicate]如何检查java中不为空的字符串? [复制]
【发布时间】:2015-06-14 02:09:38
【问题描述】:

如何检查java中的字符串是否为空?

例如: string str = " "string str2 = " "str3 = ""

str包含3个空格,str2包含1个空格,str3没有字符但都是空的。

如何在 Android 中检查这个?

【问题讨论】:

  • 它们既等于某个字符串又同时为null?
  • 请澄清但它们都是空的
  • 它们不为空。他们是空的。有很大的不同。
  • No @Programmer NULL 和empty 在Java 中是两个独立的概念。快速学习,否则您会感到困惑并编写错误代码
  • 空字符串 "" ,带空格的字符串 " "null 字符串是 3 个不同的东西

标签: java android


【解决方案1】:

只需检查str.isEmpty(),因为isEmpty() 方法将在实际长度为 0 时返回 true。

因为 NULL 是指您的String str 的内存分配。要检查空字符串,请使用isEmpty() 方法。

更新:

在你的情况下,最好的情况应该是,

if(str != null && str.trim().length() > 0)
{
     // String str is not NULL or not Empty
}else
{
    // String str is NULL or Empty
}

【讨论】:

  • @Sotirios Delimanolis - 哎呀,这是我的错误。已更正。
【解决方案2】:

空!= 空。 Null 表示变量未初始化,如: 字符串 s; 您的 str、str2 和 str3 已初始化,它们不为空。

要检查相同的字符: str.equals("foo"), ("foo" 在你的情况下是空格:))

不是 str == "foo"。最后一个表示您正在检查相同的引用。

【讨论】:

    【解决方案3】:

    你可以看看字符是否匹配

    if (str.equals ("")) {
      // true
    }
    
    if (str3.equals ("   ")) {
      // true
    }
    

    【讨论】:

    • 认为我误解了他的问题...
    • 我猜是这样,问题不清楚,他是要比较空字符串还是空字符串
    • 您可以随时编辑或删除您的答案。
    猜你喜欢
    • 2011-01-23
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2017-06-15
    • 2014-07-21
    • 2013-01-21
    相关资源
    最近更新 更多