Hoe kan ik Object naar boolean casten?

Hoe kan ik een Java-object casten naar een boolean primitief

Ik heb geprobeerd zoals hieronder, maar het werkt niet

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

De constructor Boolean(Object) is niet gedefinieerd

Graag advies.


Antwoord 1, autoriteit 100%

Als het object eigenlijkeen Booleaninstantie is, cast het dan gewoon:

boolean di = (Boolean) someObject;

De expliciete cast zal de conversie doen naar Boolean, en dan is er de auto-unboxing naar de primitieve waarde. Of je kunt dat expliciet doen:

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

Als someObjectechter niet naar een Booleaanse waarde verwijst, wat wil je dan dat de code doet?


Antwoord 2, autoriteit 26%

Ervan uitgaande dat yourObject.toString() “true” of “false” retourneert, kunt u het proberen

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

Antwoord 3

gebruik de voorwaardelijke operator “?” zoals dit hieronder:

int a = 1;   //in case you want to type 1 or 0 values in the constructor call 
Boolean b;   //class var.
b=(a>0?true:false);   //set it in the constructor body

Other episodes