2010-02-05 7 views
64

Wie kann ich ein Java-Objekt in einen boolean primitiveWie man Objekt auf Boolean wirft?

warf ich wie unten versucht, aber es nicht

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

Der Konstruktor Boolean (Object) funktioniert undefiniert

Bitte beraten.

Antwort

107

Wenn das Objekt tatsächlich eine Boolean Instanz, dann wirft es einfach:

boolean di = (Boolean) someObject; 

Die explizite Umwandlung die Umwandlung in Boolean tun wird, und dann gibt es die Auto-Unboxing auf den Grundwert. Oder Sie können die explizit tun:

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

Wenn someObject nicht jedoch in einen Booleschen Wert beziehen, was wollen Sie den Code zu tun?

+1

Nein es ist nicht eine Boolean-Instanz versuchen, sondern hat einen Wert als wahr oder falsch –

+2

Dann welche Art ist es? –

+0

Danke, dass es den Trick gemacht hat. Wie lahm ich bin :) –

30

Unter der Annahme, dass yourObject.toString() gibt „wahr“ oder „falsch“, können Sie

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

Haben Sie Probleme zu verstehen, warum ToString() erforderlich ist. Wenn es keine Zeichenfolge ist, dann ist es nur ein Objekt? –

+2

, da yourObject eine Instanz des Typs Object ist und die Methode valueOf einen String akzeptiert. – Neets

+1

Dies sollte wahrscheinlich 'Boolean.parseBoolean' sein, um zu vermeiden, dass ein' Boole'-Befehl ein- und ausgeboxt wird. –

Verwandte Themen