2009年07月07日

【1日1Commons】booleanをintやStringに変換

// JRE 1.6.0_07
// Commons Lang 2.4
// Booleanを数字に変換する
// org.apache.commons.lang.BooleanUtils
// tag boolean toInteger toString


int i;
String str;

// toInteger( boolean )
// falseだったら0、trueだったら1
i = BooleanUtils.toInteger( false );
System.out.println( i );
  // => 0
i = BooleanUtils.toInteger( true );
System.out.println( i );
  // => 1

// toInteger( boolean bool, int trueValue, int falseValue )
// trueの場合とfalseの場合に返す値を設定できる
// 三項演算子が嫌いな人用?(ちなみにこの子の中身は普通に三項演算子デス)
// 下記の例は、trueだったら5、falseだったら5を返す
i = BooleanUtils.toInteger( true, 5, 10 );
System.out.println( i );
  // => 5

// toInteger(java.lang.Boolean bool, int trueValue, int falseValue, int nullValue) 
// Booleanオブジェクトを使って、nullも判定できる版
i = BooleanUtils.toInteger( (Boolean)null, 10, 20, 30 );
System.out.println( i );
  // => 30

// toIntegerObjectを使うと、intじゃなくjava.lang.Integerで返って来る
// それだけなので、例は割愛

// toStringで指定した文字列に出来ます
str = BooleanUtils.toString( false, "ok", "dame");
System.out.println( str );
  // => dame

// toStringOnOffは、名前の通り、onかoffを返します
str = BooleanUtils.toStringOnOff( true );
System.out.println( str );
  // => on

// お友達にtoStringYesNoがいます
str = BooleanUtils.toStringYesNo( false );
System.out.println( str );
  // => no

// toStringTrueFalseもいます
// toString( boolean )でtrue/false出せばいいのに
str = BooleanUtils.toStringTrueFalse( true );
System.out.println( str );
  // => true