Boolean クラス

Revised: May/5th/2008: Since: Jan./1st/2002

真偽値 (true/false) を表す基本データ型であるboolean 型のラッパー・クラスです。boolean型とのボクシング変換がサポートされています。

クラス階層

java.lang.Object
  |
  +--java.lang.Boolean

概要

API 仕様では次のように説明されています:

Boolean クラスは、プリミティブ型 boolean の値をオブジェクトにラップします。Boolean 型のオブジェクトには、型が boolean の単一フィールドが入ります。

さらにこのクラスは、booleanString に、Stringboolean に変換する各種メソッドや、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>


Copyright © 2001-2008 SUGAI, Manabu. All Rights Reserved.