web-dev-qa-db-ja.com

オブジェクトをブール値にキャストする方法は?

Javaオブジェクトをブールプリミティブにキャストするにはどうすればよいですか

私は以下のように試しましたが、うまくいきません

boolean di = new Boolean(someObject).booleanValue();

コンストラクターBoolean(Object)は未定義です

お知らせ下さい。

73
Ravi Gupta

オブジェクトが実際 a Booleanインスタンスである場合、キャストするだけです:

boolean di = (Boolean) someObject;

明示的なキャストはBooleanへの変換を行い、その後、プリミティブ値への自動ボックス化解除が行われます。または、明示的にそれを行うことができます:

boolean di = ((Boolean) someObject).booleanValue();

someObjectがブール値を参照しない場合、コードに何をさせたいですか?

125
Jon Skeet

YourObject.toString()が「true」または「false」を返すと仮定すると、試すことができます

boolean b = Boolean.valueOf(yourObject.toString())
34
chburd