Saltar al contenido

Boolean.parseBoolean (“1”) = falso …?

Solución:

Acepta solo un valor de cadena de "true" para representar booleano true. Lo mejor que puedes hacer es

boolean uses_votes = "1".equals(o.get("uses_votes"));

O si el Map en realidad representa una “entidad”, creo que un Javabean es mucho mejor. O si representa ajustes de configuración, es posible que desee echar un vistazo a Configuración de Apache Commons.

Tengo una pequeña función de utilidad para convertir todos los valores posibles en booleanos.

private boolean convertToBoolean(String value) {
    boolean returnValue = false;
    if ("1".equalsIgnoreCase(value) || "yes".equalsIgnoreCase(value) || 
        "true".equalsIgnoreCase(value) || "on".equalsIgnoreCase(value))
        returnValue = true;
    return returnValue;
}

Según la documentación (el énfasis es mío):

Analiza el argumento de cadena como booleano. El booleano devuelto representa el valor verdadero si el argumento de cadena no es nulo y es
igual, ignorando el caso, a la cadena “verdadero”.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *