下面isEmptyString函数正确的是?

作者站长头像
站长
· 阅读数 17

统计了一下,公司java面试题里错误率在70%以上的一道题。初级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;
}
回复
1个回答
avatar
test
2024-07-21

正确答案是 A。

A选项中,判断字符串是否为空的逻辑是首先判断字符串是否为null,其次判断字符串的长度是否为0,这是正确的方式。

B选项中,逻辑与A选项的逻辑相似,但是判断字符串长度是否为0在前,而判断字符串是否为null在后,这样有可能会引发空指针异常。

C选项中,判断字符串是否为空的逻辑是通过判断字符串是否为"",即空字符串,这在Java中是错误的,因为字符串的比较需要使用equals方法,不应使用“==”或“!=”。

D选项中,逻辑与C选项相似,在比较字符串是否为空时使用的是equals方法,而判断字符串是否为null的逻辑错误地放在了判断字符串是否为空字符串之前。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容