下面isEmptyString函数正确的是?
统计了一下,公司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个回答

test
2024-07-21
正确答案是 A。
A选项中,判断字符串是否为空的逻辑是首先判断字符串是否为null,其次判断字符串的长度是否为0,这是正确的方式。
B选项中,逻辑与A选项的逻辑相似,但是判断字符串长度是否为0在前,而判断字符串是否为null在后,这样有可能会引发空指针异常。
C选项中,判断字符串是否为空的逻辑是通过判断字符串是否为"",即空字符串,这在Java中是错误的,因为字符串的比较需要使用equals方法,不应使用“==”或“!=”。
D选项中,逻辑与C选项相似,在比较字符串是否为空时使用的是equals方法,而判断字符串是否为null的逻辑错误地放在了判断字符串是否为空字符串之前。
回复

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