2010-02-05 21 views
64

¿Cómo puedo convertir un objeto Java en un boolean primitivaCómo convertir Object a boolean?

traté como a continuación, pero no funciona

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

El constructor de Boole (Objeto) es indefinido

Por favor avise.

Respuesta

107

Si el objeto es realidad una instancia Boolean, a continuación, sólo echarlo:

boolean di = (Boolean) someObject; 

La conversión explícita hará la conversión a Boolean, y luego está el auto-unboxing al valor primitivo. O bien, puede hacer eso de forma explícita:

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

Si someObject no se refiere a un valor booleano sin embargo, ¿qué es lo que desea el código para hacer?

+1

No, no es un ejemplo de Boole, pero tiene valor como verdadero o falso –

+2

Entonces, ¿qué tipo es? –

+0

Gracias hizo el truco. Qué tonto soy :) –

30

Suponiendo que yourObject.toString() devuelve "verdadero" o "falso", puede intentar

boolean b = Boolean.valueOf(yourObject.toString()) 
+0

Tengo problemas para entender por qué se necesita toString(). Si no es una cadena, ¿es solo un objeto? –

+2

porque yourObject es una instancia de tipo Object y el método valueOf acepta una cadena. – Neets

+1

Esto probablemente debería ser 'Boolean.parseBoolean' para evitar el boxeo y desempaquetar un' Boolean'. –

Cuestiones relacionadas