Java での文字列からブール値への変換
-
Java の
Boolean.parseBoolean(string)
を用いて文字列をboolean
またはBoolean
に変換する -
Java の
Boolean.valueOf(string)
を用いた文字列のboolean
またはBoolean
への変換 -
Java の
BooleanUtils.toBoolean(string)
を用いた文字列のboolean
とBoolean
に変換する
今日は、Java の文字列をブール値に変換するのに役立つ 3つのメソッドを見てみましょう。ブール値をプリミティブの boolean
や Boolean
オブジェクトで使うことができます。Boolean
クラスはプリミティブの boolean
をラップしていますが、以下の例では両方のケースを見ていきます。
Java の Boolean.parseBoolean(string)
を用いて文字列を boolean
または Boolean
に変換する
最初の例では、Boolean
クラスの parseBoolean(string)
メソッドを用います。このメソッドは与えられた文字列を直接解析または変換して、その文字列を表すプリミティブな boolean
を返します。注意すべき重要な点は、このメソッドは true
または false
以外の文字列の値を渡した場合に false
を返すということです。
parseBoolean()
は boolean
を返すことがわかっているので、Boolean
クラスにはプリミティブの boolean
が含まれているので、返された値を boolean bool
や Boolean 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
値を返します。下の図では、exampleString
が true
を文字列として初期化され、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)
を用いた文字列の boolean
と Boolean
に変換する
上記の両方のメソッドにおいて、関数は文字列の値が true
または false
以外の場合には常に false
を返します。この問題は、apache 共通ライブラリの BooleanUtils.toBoolean()
メソッドを用いて解決することができます。
このライブラリをインクルードするために、プロジェクトでは以下のような依存関係を使用しています。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
以下の例では、3つの文字列があります。yes
、no
、true
の 3つの文字列があります。これらの値をブール値に変換するには、BooleanUtils.toBoolean(string)
を使用し、引数に文字列を渡します。出力では、すべての値が正しく解析されていることがわかります。yes
は true
に、no
は false
に変換されます。
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn