JavaのBooleanクラスの使い方を完全ガイド!初心者でもわかる真偽値の操作
生徒
「先生、Javaでtrueやfalseを扱うときにboolean型を使いますけど、Booleanクラスって何が違うんですか?」
先生
「booleanはプリミティブ型で単純に真偽値を扱うのに対して、Booleanクラスはそのラッパークラスで、オブジェクトとして多くの便利な機能を提供してくれます。」
生徒
「オブジェクトにすることでどんなメリットがあるんですか?」
先生
「文字列との変換やコレクションへの格納、定数やメソッドの利用などができるので、開発でとても役立ちます。基本から順番に学んでいきましょう。」
1. java.langパッケージとBooleanクラスとは
Javaのjava.langパッケージは自動で読み込まれる標準パッケージで、その中に含まれるBooleanクラスは、プリミティブ型booleanをオブジェクトとして扱うためのラッパークラスです。真偽値の定数や便利なメソッドが用意されており、条件分岐や文字列処理、データ変換など多くの場面で利用されます。
2. booleanとBooleanの違い
booleanは「true」か「false」の二値を持つ単純な型です。一方でBooleanクラスはオブジェクト型なので、コレクション(例えばArrayList)に格納したり、文字列と相互変換したり、定数を参照したりすることができます。Java5以降ではオートボクシング機能により、booleanとBooleanの変換が自動で行われるため、直感的に使うことができます。
3. Booleanオブジェクトの生成方法
BooleanオブジェクトはvalueOfメソッドやリテラルの代入によって生成します。newを使う方法もありますが、推奨されるのはvalueOfです。
public class BooleanExample {
public static void main(String[] args) {
Boolean b1 = Boolean.valueOf(true);
Boolean b2 = Boolean.valueOf("false");
Boolean b3 = true; // オートボクシング
boolean primitive = b1; // アンボクシング
System.out.println("b1: " + b1);
System.out.println("b2: " + b2);
System.out.println("b3: " + b3);
System.out.println("primitive: " + primitive);
}
}
b1: true
b2: false
b3: true
primitive: true
4. Booleanクラスの主なメソッド
Booleanクラスは真偽値を操作するための便利なメソッドを多数備えています。代表的なものを紹介します。
- parseBoolean(String s):文字列をboolean型に変換する
- valueOf(String s):文字列をBooleanオブジェクトに変換する
- toString(boolean b):booleanを文字列に変換する
- equals(Object obj):Booleanオブジェクトの内容を比較する
- compare(boolean x, boolean y):二つのboolean値を比較する
- TRUE / FALSE:定数として用意されたBooleanオブジェクト
5. 文字列と真偽値の変換
ユーザー入力や外部ファイルから読み込んだ文字列を真偽値に変換することは多くあります。Boolean.parseBooleanやBoolean.valueOfを使うと簡単に変換できます。逆にbooleanを文字列に変換するときはBoolean.toStringを使用します。
public class ConversionExample {
public static void main(String[] args) {
String str = "true";
boolean flag = Boolean.parseBoolean(str);
String text = Boolean.toString(flag);
System.out.println("変換された真偽値: " + flag);
System.out.println("再変換された文字列: " + text);
}
}
変換された真偽値: true
再変換された文字列: true
6. equalsメソッドと比較
Booleanオブジェクト同士を比較する場合、equalsメソッドを利用します。また、プリミティブ型と違って参照先を意識する必要があるため、オブジェクト同士の比較では必ずequalsを使うようにしましょう。
public class EqualsExample {
public static void main(String[] args) {
Boolean b1 = Boolean.valueOf(true);
Boolean b2 = Boolean.valueOf("true");
System.out.println("== 演算子: " + (b1 == b2));
System.out.println("equalsメソッド: " + b1.equals(b2));
}
}
== 演算子: true
equalsメソッド: true
7. 実践的な活用例
Booleanクラスは設定値の管理やデータベースとのやり取り、外部ファイルの読み込み結果を真偽値に変換する際など、アプリケーション開発のあらゆる場面で活躍します。また、真偽値をオブジェクトとして扱えることで、コレクションに格納し後から柔軟に利用できる点も大きなメリットです。