-1

要检查一个字符串中是否有一些值,我们可以这样做:

string.length() != 0

或者

string.length() > 0

(java中字符串长度不能为负)

那么哪种是更好的编程风格来检查呢?

还有哪个更快?

4

3 回答 3

5

为什么不使用该String#isEmpty()方法。它就是为了这个确切的目的。

PS:如果字符串包含space,它不会是一个空字符串。在这种情况下,您需要trimString,然后再检查isEmpty.

于 2013-10-02T07:51:26.707 回答
1

我会StringUtils.isBlank("String")从 Apache Commons Lang 使用。如果字符串为空或仅包含 blanc,这很容易并返回 true。

于 2013-10-02T08:02:21.867 回答
1

很有可能使用>!=将花费完全相同的时间进行测试。如果性能有差异,那么机会是:

  • 它太小而对应用程序性能没有意义,
  • 它将取决于程序的更大上下文,并且
  • 它会根据硬件平台和/或您使用的 Java 版本/发行版而有所不同(或消失)。

我的建议是专注于使您的应用程序工作,使其可靠并使其可维护。对于绝大多数应用程序来说,即使考虑这个级别的性能也可能是在浪费您的时间……Java 或其他应用程序。

我同意@RJ 关于 using 的建议String.isEmpty(),并将其留给 Java 实现者来有效地实现此操作。

于 2013-10-02T09:15:41.433 回答