Java での文字列からブール値への変換

Rupam Yadav 2023年10月12日
  1. Java の Boolean.parseBoolean(string) を用いて文字列を boolean または Boolean に変換する
  2. Java の Boolean.valueOf(string) を用いた文字列の boolean または Boolean への変換
  3. Java の BooleanUtils.toBoolean(string) を用いた文字列の booleanBoolean に変換する
Java での文字列からブール値への変換

今日は、Java の文字列をブール値に変換するのに役立つ 3つのメソッドを見てみましょう。ブール値をプリミティブの booleanBoolean オブジェクトで使うことができます。Boolean クラスはプリミティブの boolean をラップしていますが、以下の例では両方のケースを見ていきます。

Java の Boolean.parseBoolean(string) を用いて文字列を boolean または Boolean に変換する

最初の例では、Boolean クラスの parseBoolean(string) メソッドを用います。このメソッドは与えられた文字列を直接解析または変換して、その文字列を表すプリミティブな boolean を返します。注意すべき重要な点は、このメソッドは true または false 以外の文字列の値を渡した場合に false を返すということです。

parseBoolean()boolean を返すことがわかっているので、Boolean クラスにはプリミティブの boolean が含まれているので、返された値を boolean boolBoolean boolObj として利用することができます。

public class StringToBoolean {
  public static void main(String[] args) {
    String exampleString = "false";

    boolean bool = Boolean.parseBoolean(exampleString);
    Boolean boolObj = Boolean.parseBoolean(exampleString);

    System.out.println("Primitive boolean: " + bool);
    System.out.println("Boolean object: " + boolObj);
  }
}

出力:

Primitive boolean: false
Boolean object: false

Java の Boolean.valueOf(string) を用いた文字列の boolean または Boolean への変換

文字列をブール値に変換するための Boolean クラスのもう一つの静的関数に valueOf() があります。これは文字列を引数にとり、その文字列を表す Boolean 値を返します。下の図では、exampleStringtrue を文字列として初期化され、valueOf(string) メソッドに渡されていることがわかります。

public class StringToBoolean {
  public static void main(String[] args) {
    String exampleString = "true";

    boolean bool = Boolean.valueOf(exampleString);
    Boolean boolObj = Boolean.valueOf(exampleString);

    System.out.println("Primitive boolean: " + bool);
    System.out.println("Boolean object: " + boolObj);
  }
}

出力:

Primitive boolean: true
Boolean object: true

Java の BooleanUtils.toBoolean(string) を用いた文字列の booleanBoolean に変換する

上記の両方のメソッドにおいて、関数は文字列の値が true または false 以外の場合には常に false を返します。この問題は、apache 共通ライブラリの BooleanUtils.toBoolean() メソッドを用いて解決することができます。

このライブラリをインクルードするために、プロジェクトでは以下のような依存関係を使用しています。

 <dependency>
     <groupId>org.apache.commons</groupId>
     <artifactId>commons-lang3</artifactId>
     <version>3.11</version>
 </dependency>

以下の例では、3つの文字列があります。yesnotrue の 3つの文字列があります。これらの値をブール値に変換するには、BooleanUtils.toBoolean(string) を使用し、引数に文字列を渡します。出力では、すべての値が正しく解析されていることがわかります。yestrue に、nofalse に変換されます。

import org.apache.commons.lang3.BooleanUtils;

public class StringToBoolean {
  public static void main(String[] args) {
    String exampleString = "yes";
    String exampleString1 = "no";
    String exampleString2 = "true";

    boolean bool1 = BooleanUtils.toBoolean(exampleString);
    Boolean boolObj1 = BooleanUtils.toBoolean(exampleString);

    boolean bool2 = BooleanUtils.toBoolean(exampleString1);
    Boolean boolObj2 = BooleanUtils.toBoolean(exampleString1);

    boolean bool3 = BooleanUtils.toBoolean(exampleString2);
    Boolean boolObj3 = BooleanUtils.toBoolean(exampleString2);

    System.out.println("Primitive boolean 1: " + bool1);
    System.out.println("Boolean object 1: " + boolObj1);

    System.out.println("Primitive boolean 2: " + bool2);
    System.out.println("Boolean object 2: " + boolObj2);

    System.out.println("Primitive boolean 3 : " + bool3);
    System.out.println("Boolean object 3: " + boolObj3);
  }
}

出力:

Primitive boolean 1: true
Boolean object 1: true
Primitive boolean 2: false
Boolean object 2: false
Primitive boolean 3 : true
Boolean object 3: true
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java Boolean

関連記事 - Java String