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)