HOWTO · Java

Booleana a cadena en Java

Este tutorial enseña cómo convertir un valor booleano en una cadena en Java

En esta página

En Java, tanto el tipo primitivo boolean como la clase envoltorio Boolean representan true o false. Para un valor primitivo, puedes usar String.valueOf(boolean) o la sobrecarga estática Boolean.toString(boolean). Si tienes un objeto Boolean no nulo, también puedes llamar a su método de instancia toString(). La concatenación y el formato resultan útiles cuando el valor forma parte de un mensaje más largo. Estas conversiones producen texto en minúsculas: true se convierte en "true" y false, en "false".

Convertir un boolean primitivo en una cadena con String.valueOf(boolean)

String.valueOf(boolean) es un método estático de String que acepta un boolean primitivo y devuelve su representación textual. Es una opción directa cuando el valor ya es primitivo; el resultado se puede almacenar, comparar o pasar a un método que espera un String. El valor de entrada sigue siendo booleano, mientras que el resultado es texto, por lo que no sirve para condiciones booleanas posteriores sin volver a convertirlo.

Ejecuta este ejemplo:

public class BooleanStringExample {
    public static void main(String[] args) {
        boolean active = true;
        String text = String.valueOf(active);
        System.out.println(text);
    }
}
true

Esta forma también funciona con false y devuelve la cadena correspondiente en minúsculas. Usa la sobrecarga primitiva cuando la variable de origen está declarada como boolean; Java también puede convertir automáticamente un Boolean no nulo a su valor primitivo cuando se requiere un argumento primitivo. Si la referencia envoltorio podría ser nula, resuelve esa posibilidad antes de pasarla a un método que espera un primitivo, ya que convertir null de esta manera provoca una NullPointerException.

Convertir un valor Boolean en una cadena con Boolean.toString()

Boolean es la clase envoltorio, mientras que boolean es el tipo primitivo. Un objeto Boolean no nulo puede llamar al método de instancia toString(). La clase también ofrece la sobrecarga estática Boolean.toString(boolean), que acepta directamente un valor primitivo y evita crear un envoltorio solo para convertirlo. El ejemplo muestra ambas formas para que elijas según el tipo que ya tengas. Las etiquetas del ejemplo, como “Instance” y “Static”, y la salida visible permanecen en inglés porque los bloques de código y salida se conservan sin cambios.

public class BooleanStringExample {
    public static void main(String[] args) {
        Boolean enabled = Boolean.FALSE;
        String instanceText = enabled.toString();
        boolean active = true;
        String staticText = Boolean.toString(active);
        System.out.println("Instance: " + instanceText);
        System.out.println("Static: " + staticText);
    }
}
Instance: false
Static: true

La llamada de instancia requiere una referencia no nula: si enabled es null, enabled.toString() provoca una NullPointerException. La sobrecarga estática se llama desde la clase y recibe un valor primitivo, por lo que no accede a una referencia envoltorio. Si recibes un Boolean que puede ser nulo, decide qué debe significar null antes de llamar al método de instancia o convertirlo al tipo primitivo. Por ejemplo, puedes comprobar la referencia y proporcionar una cadena alternativa cuando sea nula.

Convertir un valor boolean o Boolean en una cadena mediante concatenación

Al construir una cadena, Java convierte un boolean primitivo a su texto en minúsculas durante la concatenación. Un envoltorio Boolean no nulo también se convierte al texto correspondiente. Coloca primero la cadena para que la etiqueta se lea con facilidad, como en "Enabled: " + enabled. Este enfoque resulta práctico para mensajes y registros; para una conversión independiente, un método explícito comunica mejor la intención. Las etiquetas del ejemplo, como “Active”, “Enabled” y “Available”, y la salida mostrada permanecen en inglés porque los bloques de código y salida se conservan sin cambios.

public class BooleanStringExample {
    public static void main(String[] args) {
        boolean active = true;
        Boolean enabled = Boolean.FALSE;
        System.out.println("Active: " + active);
        System.out.println("Enabled: " + enabled);
    }
}
Active: true
Enabled: false

Concatenar un Boolean nulo produce el texto "null"; no llama a toString() sobre esa referencia. Esto difiere de enabled.toString(), que provoca una NullPointerException con la misma referencia nula. Ten presente esta diferencia al crear la salida: la concatenación conserva null como la palabra null, mientras que el método de instancia requiere un valor Boolean real. Si el texto es para una persona usuaria o un formato externo, elige un valor alternativo explícito cuando null pueda resultar ambiguo.

Dar formato a un valor booleano como cadena con String.format()

Usa String.format() cuando el valor booleano forme parte de un mensaje con formato o cuando el mensaje contenga varios valores. La conversión %b produce true o false en minúsculas para un argumento booleano; resulta útil en plantillas legibles, aunque añade mecanismos de formato si solo quieres convertir un valor. Este ejemplo mantiene juntas la cadena de formato y el valor para que quede clara la posición del booleano. Las etiquetas y la salida visible permanecen en inglés porque los bloques de código y salida se conservan sin cambios.

public class BooleanStringExample {
    public static void main(String[] args) {
        boolean available = true;
        String message = String.format("Available: %b", available);
        System.out.println(message);
    }
}
Available: true

Para una conversión sencilla, prefiere String.valueOf(boolean) o Boolean.toString(boolean). Usa la concatenación para una etiqueta breve y String.format() cuando una plantilla dé mejor estructura a un mensaje más largo. En todos los casos, ten en cuenta el tipo de origen: un primitivo siempre tiene un valor booleano, mientras que una referencia Boolean puede ser nula.