Java面试题:如何正确判别空字符串?

判别空字符串函数的正确选择

在招聘中,一道错误率高达 70% 的 java 面试题揭示了初级 java 开发者的难觅程度。

以下问题考察了简洁判别空字符串的函数:

下面isemptystring函数正确的是:

  • a

    public boolean isemptystring(string str) {
      return str == null || str.length() == 0;
    }
  • b

    public boolean isemptystring(string str) {
      return str.length() == 0 || str == null;
    }
  • c

    public boolean isemptystring(string str) {
      return str == "" || str.length() == 0;
    }
  • d

    public boolean isEmptyString(String str) {
      return str.equals("") || str.length() == 0;
    }

正确答案:a

a 选项正确地判断字符串是否为 null,然后判断长度是否为 0,避免了空指针异常。

b 选项逻辑与 a 选项类似,但判断长度优先于判断 null,可能引发异常。

c 选项错误地使用 == 比较字符串,应使用 equals 方法。

d 选项与 c 选项类似,错误地使用了 equals 方法比较字符串。