在检查字符串是否为空时保护字符串中的空格

Her*_*rn. 1 java string

我正在写这个功能isEmpty(String str).

此函数的行为应如下所示:

isEmpty("")       : true
isEmpty(" ")      : false
isEmpty("abcdef") : false
Run Code Online (Sandbox Code Playgroud)

我写过这个函数,但问题是没有将空格作为字符.

public static boolean isEmpty(String str) {
  if(str == null) {
    return true;
  }

  for(Character ch:str.toCharArray()) {
    if(Character.isWhitespace(ch)) {
        continue;
    } else {
        return false;
    }
  }
  return true;
}
Run Code Online (Sandbox Code Playgroud)

知道我在这个功能中缺少的地方吗?

Tim*_*m B 6

你为什么不这样做:

return str.length() == 0
Run Code Online (Sandbox Code Playgroud)

虽然我不明白为什么你需要写这个,因为这基本上是内置String#isEmpty()方法的作用......

如果字符串包含空格,那么您编写的代码将返回字符串为空,但您对所需行为的描述表明它不需要包含空格.

因此,要么删除空白检查并满足描述,要么留下空白检查并且描述需要修复.