HOWTO · Java
Valore booleano per String in Java
Questo tutorial insegna come convertire un valore booleano in una stringa in Java
In questa pagina
In Java, il tipo primitivo boolean e la classe wrapper Boolean rappresentano entrambi true o false. Per un valore primitivo, usa String.valueOf(boolean) oppure l’overload statico Boolean.toString(boolean). Anche il metodo di istanza toString() funziona con un oggetto Boolean non null. La concatenazione e la formattazione sono utili quando il valore fa parte di un messaggio più ampio. Queste conversioni producono testo in minuscolo: true diventa "true" e false diventa "false". Le etichette e gli output mostrati negli esempi restano in inglese, perché i blocchi di codice e di output sono mantenuti invariati.
Convertire un boolean primitivo in una stringa con String.valueOf(boolean)
String.valueOf(boolean) è un metodo statico di String che accetta un boolean primitivo e ne restituisce la rappresentazione testuale. È una scelta diretta quando il valore è già primitivo; il risultato può essere memorizzato, confrontato o passato a un metodo che si aspetta una String. L’input resta un valore booleano, mentre il valore restituito è testo: non è quindi adatto a successive condizioni booleane senza riconvertirlo.
Esegui questo esempio:
public class BooleanStringExample {
public static void main(String[] args) {
boolean active = true;
String text = String.valueOf(active);
System.out.println(text);
}
}
true
Questa forma funziona anche con false e restituisce la corrispondente stringa minuscola. Usa l’overload per i primitivi quando la variabile sorgente è dichiarata come boolean; Java può anche eseguire l’unboxing di un Boolean non null quando è richiesto un argomento primitivo. Se il riferimento al wrapper può essere null, gestisci questa possibilità prima di passarlo a un metodo che si aspetta un primitivo, perché l’unboxing di null causa una NullPointerException.
Convertire un valore Boolean in una stringa con Boolean.toString()
Boolean è la classe wrapper, mentre boolean è il tipo primitivo. Un oggetto Boolean non null può chiamare il metodo di istanza toString(). La classe offre anche l’overload statico Boolean.toString(boolean), che accetta direttamente un primitivo ed evita di creare un wrapper solo per convertire il valore. L’esempio mostra entrambe le forme, così puoi scegliere in base al tipo che hai già.
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 chiamata di istanza richiede un riferimento non null: se enabled è null, enabled.toString() causa una NullPointerException. L’overload statico si richiama sulla classe e accetta un valore primitivo, quindi non dereferenzia un wrapper. Se ricevi un Boolean che può essere null, decidi cosa debba significare null prima di chiamare il metodo di istanza o di eseguire l’unboxing. Per esempio, puoi verificare il riferimento e fornire una stringa alternativa quando è null.
Convertire un valore boolean o Boolean in una stringa tramite concatenazione
Quando stai già componendo una stringa, durante la concatenazione Java converte un boolean primitivo nel corrispondente testo minuscolo. Anche un wrapper Boolean non null viene convertito nel testo corrispondente. Metti prima la stringa per rendere leggibile un’etichetta, per esempio "Enabled: " + enabled. Questo approccio è comodo per messaggi e log; per una conversione autonoma, un metodo esplicito comunica più chiaramente l’intento. L’etichetta e l’output di questo esempio restano in inglese, poiché i relativi blocchi di codice e di output sono preservati senza modifiche.
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
Concatenare un Boolean null produce il testo "null"; non chiama toString() su quel riferimento. È diverso da enabled.toString(), che causa una NullPointerException con lo stesso riferimento null. Tieni presente questa distinzione quando componi l’output: la concatenazione mantiene null come parola null, mentre il metodo di istanza richiede un valore Boolean effettivo. Se il testo è destinato a un utente o a un formato esterno, scegli un valore alternativo esplicito quando null potrebbe risultare ambiguo.
Formattare un boolean come stringa con String.format()
Usa String.format() quando il valore booleano fa parte di un messaggio formattato più ampio o quando il messaggio contiene più valori. La conversione %b formatta un argomento Boolean come true o false in minuscolo; è utile per creare modelli leggibili, anche se aggiunge il meccanismo di formattazione per un singolo valore. In questo esempio la stringa di formato e il valore sono vicini, così la posizione del booleano è chiara.
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
Per una conversione semplice, preferisci String.valueOf(boolean) o Boolean.toString(boolean). Usa la concatenazione per un’etichetta breve e String.format() quando un modello rende più chiara la struttura di un messaggio lungo. In ogni caso, considera il tipo di origine: un primitivo ha sempre un valore booleano, mentre un riferimento Boolean può essere null.