読者です 読者をやめる 読者になる 読者になる

Webサービスで起業を目指すプログラマーblog

仕事で使ったプログラミング、サーバー周りで役に立つこと、Webサービス開発に必要な技術情報、モバイル情報を書いてます。わかりやすく見やすくをモットーにしています。

Apache commons-langのBooleanUtilsが便利なのでまとめてみた

Java

commons-langのBooleanUtilsにbooleanを文字列や数値で返したり、またその逆を行ったりする機能がありました。
小さな事ですけど結構便利なものが提供されています。使わない理由はないでしょう。
ということでまとめてみました。
プリミティブ型とオブジェクト型を考慮したメソッドもありますが、
Java5以降であればオートボクシングで自動で変換してくれるので気にする必要はないでしょう。

バージョン


commns-lang 3.1

negate


boolan値を否定する。true→false、false→true

BooleanUtils.negate(Boolean.TRUE)  = Boolean.FALSE;
BooleanUtils.negate(Boolean.FALSE) = Boolean.TRUE;
BooleanUtils.negate(null)          = null;

isTrue


trueならtrueを返す

BooleanUtils.isTrue(Boolean.TRUE)  = true
BooleanUtils.isTrue(Boolean.FALSE) = false
BooleanUtils.isTrue(null)          = false

isNotTrue


trueでないならfalseを返す

BooleanUtils.isNotTrue(Boolean.TRUE)  = false
BooleanUtils.isNotTrue(Boolean.FALSE) = true
BooleanUtils.isNotTrue(null)          = tru

isFalse


falseならfalseを返す

BooleanUtils.isFalse(Boolean.TRUE)  = false
BooleanUtils.isFalse(Boolean.FALSE) = true
BooleanUtils.isFalse(null)          = false

isNotFalse


falseでないならtrueを返す

BooleanUtils.isNotFalse(Boolean.TRUE)  = true
BooleanUtils.isNotFalse(Boolean.FALSE) = false
BooleanUtils.isNotFalse(null)          = true

toBoolean


別の型の真偽値をbooleanで返す

// int 0→false、1以上→ture
BooleanUtils.toBoolean(0) = false
BooleanUtils.toBoolean(1) = true
BooleanUtils.toBoolean(2) = true

// string true/yes/on→true、false/no/off→false
BooleanUtils.toBoolean(null)    = false
BooleanUtils.toBoolean("true")  = true
BooleanUtils.toBoolean("TRUE")  = true
BooleanUtils.toBoolean("tRUe")  = true
BooleanUtils.toBoolean("on")    = true
BooleanUtils.toBoolean("yes")   = true
BooleanUtils.toBoolean("false") = false
BooleanUtils.toBoolean("x gti") = false

// intで真偽値の条件設定 第2引数にtrueのint値、第3引数にfalseのint値
BooleanUtils.toBoolean(Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(0)) = false
BooleanUtils.toBoolean(Integer.valueOf(0), Integer.valueOf(1), Integer.valueOf(0)) = false
BooleanUtils.toBoolean(Integer.valueOf(1), Integer.valueOf(1), Integer.valueOf(0)) = true
BooleanUtils.toBoolean(Integer.valueOf(2), Integer.valueOf(1), Integer.valueOf(2)) = false
BooleanUtils.toBoolean(Integer.valueOf(2), Integer.valueOf(2), Integer.valueOf(0)) = true
BooleanUtils.toBoolean(null, null, Integer.valueOf(0))                     = true

// stringで真偽値の条件設定 第2引数にtrueのstring値、第3引数にfalseのstring値
BooleanUtils.toBoolean("true", "true", "false")  = true
BooleanUtils.toBoolean("false", "true", "false") = false
BooleanUtils.toBoolean("A", "A", "B") = true

toBooleanDefaultIfNull


nullの場合のデフォルト値を設定して返す

BooleanUtils.toBooleanDefaultIfNull(Boolean.TRUE, false) = true
BooleanUtils.toBooleanDefaultIfNull(Boolean.FALSE, true) = false
BooleanUtils.toBooleanDefaultIfNull(null, true)          = true

toInteger


booleanをintegerで返す

// booleanをtrueに変換
BooleanUtils.toInteger(true)  = 1
BooleanUtils.toInteger(false) = 0

// 変換条件設定 第2引数にtrueのときの値、第3引数にfalseのときの値
BooleanUtils.toInteger(true, 1, 0)  = 1
BooleanUtils.toInteger(false, 1, 0) = 0

// 変換条件、null時の変換設定 第2引数にtrue時の値、第3引数にfalse時の値 第4引数にnull時の値
BooleanUtils.toInteger(Boolean.TRUE, 1, 0, 2)  = 1
BooleanUtils.toInteger(Boolean.FALSE, 1, 0, 2) = 0
BooleanUtils.toInteger(null, 1, 0, 2)          = 2

toString


booleanをStringで返す

// 変換条件設定 第2引数にtrueのときの値、第3引数にfalseのときの値
BooleanUtils.toString(true, "true", "false")   = "true"
BooleanUtils.toString(false, "true", "false")  = "false"

// 変換条件、null時の変換設定 第2引数にtrue時の値、第3引数にfalse時の値 第4引数にnull時の値
BooleanUtils.toString(Boolean.TRUE, "true", "false", null)   = "true"
BooleanUtils.toString(Boolean.FALSE, "true", "false", null)  = "false"
BooleanUtils.toString(null, "true", "false", null)           = null;

toStringOnOff


true→on、false→offを文字列で返す

BooleanUtils.toStringOnOff(true)   = "on"
BooleanUtils.toStringOnOff(false)  = "off"

toStringYesNo


true→yes、false→noを文字列で返す

BooleanUtils.toStringOnOff(true)   = "yes"
BooleanUtils.toStringOnOff(false)  = "no"

toStringTrueFalse


true→true、false→falseを文字列で返す

BooleanUtils.toStringTrueFalse(true)   = "true"
BooleanUtils.toStringTrueFalse(false)  = "false"

参考


BooleanUtils (Commons Lang 3.1 API)