字符串isEmpty和StringUtils.isNotBlank()之间最好

时间:2015-06-01 09:49:37

标签: java string string-utils

我使用以下代码检查时间:

public static void main(String[] args) throws Exception {
    String foo = "foo";
    long start=System.currentTimeMillis();
    if (StringUtils.isBlank(foo));
    long end=System.currentTimeMillis();
    System.out.println("isBlank="+(end-start));
    start=System.currentTimeMillis();
    if (foo!=null && !foo.isEmpty());
    end=System.currentTimeMillis();
    System.out.println("Sec="+(end-start));
}

StringUtils.isBlank()方法比简单的String.isEmpty()方法长3ms。我们应该使用哪种方法?

1 个答案:

答案 0 :(得分:4)

StringUtils.isBlank(foo));

检查String是否为空格,为空(“”)或为空。

StringUtils.isBlank()

foo.isEmpty()

当且仅当length()为0时返回true。

isEmpty()

因此,如果想要一些高级的东西,如果string为null则不会抛出NPE,忽略空字符串(所以自动修剪)然后使用StringUtils.isBlank(foo));

另一方面,当您展示性能差异时,有一个非常好的原因isEmpty()只看到长度。

根据需要选择它。