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 Boolean
instantie 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 someObject
echter 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