Wie man Boolean-Wert aus Objekt

Ich versucht, verschiedene Möglichkeiten, um dieses Problem zu lösen, aber ich bin nicht in der Lage, es zu beheben. Ich werde versuchen, den booleschen Wert einer Objekt bestanden innerhalb dieser Methode eine checkBox:

public boolean onPreferenceChange(Preference preference, Object newValue) 
{
    final String key = preference.getKey();
    referenceKey=key;
    Boolean changedValue=!(((Boolean)newValue).booleanValue()); //ClassCastException occurs here
}

Bekomme ich:

java.lang.Classcastexception-Fehler: java.lang.String nicht umgewandelt werden, um java.lang.Boolean

Sie werden zuerst angenommen, newValue ist der Typ Boolean. Sie können instanceof zu prüfen, die Art von newValue. Wenn es ein boolean, mit autounboxing, haben Sie kein problem. Wenn es ein string ist, können Sie vergleichen (ignoring case) für die Werte "true", "false", dann erstellen Sie die entsprechenden booleschen Darstellung.

InformationsquelleAutor David Prun | 2012-05-17

Schreibe einen Kommentar