0

次のコードを使用してタイミングを確認します。

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() メソッドよりも 3 ミリ秒長くかかります。どの方法を使用する必要がありますか?

4

1 に答える 1

6
StringUtils.isBlank(foo));

String が空白、空 ("")、または null であるかどうかを確認します。

StringUtils.isBlank()

foo.isEmpty()

length() が 0 の場合にのみ true を返します。

isEmpty()

したがって、文字列がnullの場合にNPEをスローしないような高度なものが必要な場合は、空の文字列を無視して(自動トリム)、使用しますStringUtils.isBlank(foo));

一方、パフォーマンスの違いを示したようにisEmpty()、長さを見るだけで十分な理由があります。

必要に応じて選択してください。

于 2015-06-01T09:53:14.840 に答える