commons-langで文字列を比較する

山崎良
2008-08-01 07:00:00
  • このエントリーをはてなブックマークに追加

StringUtils#contains

 StringUtils#containsは、「第2引数で指定した文字列(文字)」が「第1引数で指定した文字列」に含まれる場合に真を返す。

 通常、下記のように記述することができるが、

//「文字列がnullまたは空("")である」
if( str!=null && str.indexOf("[チェック対象の文字列]") ){
    // 〜〜
}

 StringUtils#containsを使った場合には以下のように記述することができる。

if( StringUtils.contains("[チェック対象の文字列]") ){
    // 〜〜
}

 「contains」メソッドは以下のように動作する。

  • StringUtils.contains(null,"A") = false
    →チェック対象の文字列がnullの場合はfalse。
  • StringUtils.contains("","A") = false
    →チェック対象の文字列が空文字列の場合はfalse。
  • StringUtils.contains("ABCDEFG","CDE") = true
    →チェック対象の文字列に含まれる文字列を第2引数に指定した場合true。
  • StringUtils.contains("ABCDEFG","AAA") = false
    →チェック対象の文字列に含まれない文字列を第2引数に指定した場合false。
  • StringUtils.contains("ABCDEFG",'C') = true
    →char型を第2引数とするメソッドもある。

StringUtils#containsIgnoreCase

 containsIgnoreCaseメソッドも「第2引数で指定した文字列」が「第1引数で指定した文字列」に含まれるかどうかをチェックするメソッドだが、こちらはその名の通り”文字列の大文字小文字の違いを無視して”判定する。

 「containsIgnoreCase」メソッドは以下のように動作する。

  • StringUtils.containsIgnoreCase(null,"A") = false
    →チェック対象の文字列がnullの場合はfalse。
  • StringUtils.containsIgnoreCase("","A") = false
    →チェック対象の文字列が空文字列の場合はfalse。
  • StringUtils.containsIgnoreCase("ABCDEFG","CDE") = true
    →チェック対象の文字列に含まれる文字列を第2引数に指定した場合true。
  • StringUtils.containsIgnoreCase("ABCDEFG","AAA") = false
    →チェック対象の文字列に含まれない文字列を第2引数に指定した場合false。
  • StringUtils.containsIgnoreCase("ABCDEFG","cde") = true
    →チェック対象の文字列には"cde"は含まれないが"CDE"が含まれるため結果はtrueになる。
  • 新着記事
  • 特集
  • ブログ