Boolean クラスRevised: May/5th/2008: Since: Jan./1st/2002
真偽値 (true/false) を表す基本データ型であるboolean 型のラッパー・クラスです。boolean型とのボクシング変換がサポートされています。
java.lang.Object | +--java.lang.Boolean
API 仕様では次のように説明されています:
Boolean クラスは、プリミティブ型
booleanの値をオブジェクトにラップします。Boolean型のオブジェクトには、型がbooleanの単一フィールドが入ります。さらにこのクラスは、
booleanをStringに、Stringをbooleanに変換する各種メソッドや、booleanの処理時に役立つ定数およびメソッドも提供します。
Integerクラスと同様に、Boolean型オブジェクトは、コンストラクタではなく、ボクシング変換かvalueOf(String s)を使うことが一般的です。
class TestBoolean {
public static void main(String[] args) {
// メソッドvalueOf()
Boolean b1 = Boolean.valueOf(args[0]);
// オートボクシング
Boolean b2 = true;
Boolean b3 = false;
System.out.println("b1 = " + b1);
System.out.println("b2 = " + b2);
System.out.println("b2 = " + b3);
System.out.println("b1 == b2: " + (b1 == b2));
System.out.println("b1 == b3: " + (b1 == b3));
}
}
ブール代数のリテラルをラッピングするオブジェクトはimmutableで、オブジェクトはシングルトンになります。つまり、別の場所で生成されたオブジェクトでも、メモリ上のインスタンスは同一のものを参照することとになります。
boolean型かString型を引数の持つコンストラクタも用意されています。しかし、J2SE 5.0以上では、オートボクシングがサポートされているので、使うことはないでしょう。
メソッド、メンバ変数の詳細は API 仕様を直接ご確認ください。
class TestBoolean2 {
public static void main(String args[]){
//インスタンス化
// J2SE 1.4以下
// Boolean objBln1 = new Boolean(true);
// Boolean objBln2 = new Boolean("uso800");
// J2SE 5.0以上
Boolean objBln1 = true;
Boolean objBln2 = Boolean.valueOf("uso800");
// J2SE 1.4以下
// System.out.println("objBln1: " + objBln1.booleanValue());
// System.out.println("objBln2: " + objBln2.booleanValue());
// J2SE 5.0以上
System.out.println("objBln1: " + objBln1);
System.out.println("objBln2: " + objBln2);
System.out.print("objBln1 かつ objBln2: ");
System.out.println(objBln1 & objBln2);
System.out.print("objBln1 又は objBln2: ");
System.out.println(objBln1 | objBln2);
}
}
D:\java>javac TestBoolean2.java D:\java>java TestBoolean2 objBln1: true objBln2: false objBln1 かつ objBln2: false objBln1 又は objBln2: true D:\java>