[Java] StringUtils.isEmpty と StringUtils.isBlank の違い

Java には isEmpty と isBlank という似たような処理をするメソッドがあるみたいで、違いを調べたのでご紹介します。

Java

結論から書くと、

  • isBlank: 半角/全角空白文字も true と判定する
  • isEmpty: 半角/全角空白文字は false と判定する

みたいです。

System.out.println("isBlank(null):" + StringUtils.isBlank(null));
System.out.println("isBlank(\"\"):" + StringUtils.isBlank(""));
System.out.println("isBlank(\" \"):" + StringUtils.isBlank(" "));
System.out.println("isBlank(\" \"):" + StringUtils.isBlank(" "));//全角文字の空白
 
System.out.println("isEmpty(null):" + StringUtils.isEmpty(null));
System.out.println("isEmpty(\"\"):" + StringUtils.isEmpty(""));
System.out.println("isEmpty(\" \"):" + StringUtils.isEmpty(" "));
System.out.println("isEmpty(\" \"):" + StringUtils.isEmpty(" "));//全角文字の空白

実行結果

isBlank(null):true
isBlank(""):true
isBlank(" "):true
isBlank(" "):true
 
isEmpty(null):true
isEmpty(""):true
isEmpty(" "):false
isEmpty(" "):false

Jave の現場からは以上です。