写作有什么缺点!string.isEmpty()?

时间:2011-08-28 19:27:10

标签: java string coding-style if-statement

在Java代码中的if语句中,我经常阅读类似if(string != null && string.isEmpty() == false)的内容。我习惯写if(string != null && !string.isEmpty())

使用!string.isEmpty()是否有任何缺点?

4 个答案:

答案 0 :(得分:8)

在行为方面

if(string != null && string.isEmpty() == false)

if(string != null && !string.isEmpty())

显然是相同的。我更喜欢后者,只是因为它更简洁。在可能的情况下,我更愿意积极地表达条件,但遗憾的是没有string.isNotEmpty()方法

所以一般来说,当我想检查一个String是null还是空(以null安全的方式)时,我使用:

StringUtils.isNotBlank(string)

这个StringUtils类来自Apache commons lang库,但如果你没有在类路径上有这个并且不想添加它,你可以轻松编写自己的。

答案 1 :(得分:3)

我没有任何可以想到的缺点。这只是个人编码风格和偏好的问题。就个人而言,我也更喜欢if(!string.isEmpty())

答案 2 :(得分:1)

恕我直言,我找到了!更难读。你必须要记住,接下来即将发生的事情需要被否定。 if(string.isEmpty()== false)不需要任何心理记录。因此,我认为不太可能被误解。

答案 3 :(得分:0)

以下是java.lang.String implementation

的摘录
1286       public boolean isEmpty() {
1287           return 0 == count;
1288       }

isEmpty()检查存储在私有字段计数中的字符串中的符号数是否为0.如果使用if(string.isEmpty() == false)if(!string.isEmpty()),则无关紧要个人编码偏好。
但是,如果您还需要对String执行空检查,则可以检查Apache Commons-Lang StringUtils.isEmpty(..)