Wenn ich versuchte, ein String Objekt zu boolean zu konvertieren, ist das Ergebnis anders.String-Objekt zu Boolean
String strFlag="true";
boolean boolFlag = Boolean.getBoolean(strFlag);
boolFlag
endet ein false
Wert.
Wenn ich versuchte, ein String Objekt zu boolean zu konvertieren, ist das Ergebnis anders.String-Objekt zu Boolean
String strFlag="true";
boolean boolFlag = Boolean.getBoolean(strFlag);
boolFlag
endet ein false
Wert.
Verwenden Boolean.valueOf(String string) Ihr Ziel archieve verwenden.
boolean boolFlag = Boolean.valueOf(strFlag);
Gibt einen Boolean mit einem Wert, der durch den angegebenen String dargestellt. Der zurückgegebene Boolean-Wert stellt den Wert "true" dar, wenn das Zeichenfolgenargument nicht null ist und unter Beachtung der Groß-/Kleinschreibung der Zeichenfolge "true" entspricht.
Beispiel: Boolean.valueOf("True")
gibt wahr zurück.
Beispiel: Boolean.valueOf("yes")
gibt false zurück.
Ab Java 1.5 gibt es auch Boolean.parseBoolean(String s)
, die den primitiven Typen boolean
anstelle des boxed Typs zurückgibt Boolean
einige CPU-Zyklen in den meisten Fällen zu ersparen.
wenn 'strFlag' false value enthält? – Mdhar9e
dann ist das 'boolFlag' falsch.Da der 'boolean' nur wahr oder falsch sein kann, genügt es, nach einem von ihnen zu suchen, abhängig davon, was der" Standardwert "sein soll. Für den Wrapper "Boolean" hättest du recht, da dieser "null" werden könnte. – devsnd
Oder einfach 'boolean boolFlag =" true ".equalsIgnoreCase (strFlag);' – Jesper
können Sie
boolFlag = "true".equalsIgnoreCase(strFlag);
Wenn strFlag "null" wäre, würde das eine 'NullPointerException' ergeben. – devsnd
danke für die korrektur –
Verwenden Boolean.valueOf
boolean boolFlag = Boolean.valueOf(strFlag);
Diese Methode gibt einen Booleschen Wert mit einem durch die spezifizierte Zeichenfolge dargestellt. Der zurückgegebene Boolean-Wert stellt den Wert "true" dar, wenn das Zeichenfolgenargument nicht null ist und unter Beachtung der Groß-/Kleinschreibung der Zeichenfolge "true" entspricht.
ok .. ich werde es versuchen. Es scheint zu funktionieren. – Mdhar9e
Die Verwendung der integrierten Funktionen ist eine bessere Option als meine Lösung. +1 – devsnd
Wenn Sie in einem Primitiv speichern, dann ist Parse sehr, sehr leicht schneller (da es das Unboxing vermeidet), aber diese Zeit wird auf jeden Fall durch die Parse-Zeit in den Schatten gestellt, so dass es kein Problem ist. – user439407
Boolean.getBoolean
Tests, um zu sehen, ob das System gegebene Eigenschaft wahr ist, Sie wollen Boolean.parseBoolean
können Sie ein Stück Code löschen. – Mdhar9e
Try Boolean.valueOf(strFlag)
Verwenden Boolean.parseBoolean
boolean boolFlag = Boolean.parseBoolean(strFlag);
Diese Methode gibt einen boolean primitive verwenden Art. Es funktioniert genauso wie Boolean.valueOf, ohne die Kosten für das Unboxing.
Sie können den folgenden
Boolean.getBoolean nicht tut, was Sie denken, es tut. Lesen Sie das Handbuch. – Corbin
Ich bin mir nicht sicher, aber vielleicht ist es Groß-und Kleinschreibung? Übrigens, warum benutzt du nicht 'Boolean.parseBoolean (string);'? – Leri
@PLB Vermutungen sind nicht viel, vor allem falsche Schätzungen wie diese. OP sollte das Handbuch wie empfohlen lesen, und Sie sollten es auch tun. – EJP