372 Stimmen

Wie konvertiert man ein String-Objekt in ein Boolesches Objekt?

Wie man konvertiert String Objekt zu Boolean Objekt?

11voto

david30xie Punkte 896

Nun, wie jetzt im Januar 2018, ist der beste Weg dafür die Verwendung von Apache's BooleanUtils.toBoolean .

Dies wandelt eine beliebige boolesche Zeichenkette in einen booleschen Wert um, z. B. Y, yes, true, N, no, false, usw.

Wirklich praktisch!

7voto

Dhana Punkte 723

Verwenden Sie die Apache-Commons-Bibliothek BooleanUtils Klasse :

String[] values= new String[]{"y","Y","n","N","Yes","YES","yes","no","No","NO","true","false","True","False","TRUE","FALSE",null};
for(String booleanStr : values){
    System.out.println("Str ="+ booleanStr +": boolean =" +BooleanUtils.toBoolean(booleanStr));
}

Ergebnis:

Str =N: boolean =false
Str =Yes: boolean =true
Str =YES: boolean =true
Str =yes: boolean =true
Str =no: boolean =false
Str =No: boolean =false
Str =NO: boolean =false
Str =true: boolean =true
Str =false: boolean =false
Str =True: boolean =true
Str =False: boolean =false
Str =TRUE: boolean =true
Str =FALSE: boolean =false
Str =null: boolean =false

6voto

AechoLiu Punkte 16630
public static boolean stringToBool(String s) {
        s = s.toLowerCase();
        Set<String> trueSet = new HashSet<String>(Arrays.asList("1", "true", "yes"));
        Set<String> falseSet = new HashSet<String>(Arrays.asList("0", "false", "no"));

        if (trueSet.contains(s))
            return true;
        if (falseSet.contains(s))
            return false;

        throw new IllegalArgumentException(s + " is not a boolean.");
    }

Mein Weg zur Umwandlung von String in Boolean.

1voto

Tomislav Boras Punkte 11

So habe ich es gemacht:

"1##true".contains( string )

In meinem Fall ist meistens entweder 1 oder wahr. Ich verwende Hashes als Teiler.

0voto

Chrstpsln Punkte 725

Warum nicht einen regulären Ausdruck verwenden?

public static boolean toBoolean( String target )
{
    if( target == null ) return false;
    return target.matches( "(?i:^(1|true|yes|oui|vrai|y)$)" );
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X