Ce face Boolean.parseBoolean
Boolean este varianta obiect a tipului boolean, cu constantele Boolean.TRUE și Boolean.FALSE. O variabilă Boolean poate fi și null, ceea ce înseamnă „necunoscut”.
Boolean.parseBoolean(s) returnează true numai dacă textul este "true", indiferent de literele mari sau mici ("TRUE", "True"). Orice alt text, inclusiv "da", "1", " true" cu spațiu sau null, dă false. Metoda nu aruncă niciodată excepții.
Parametri
| Parametru | Descriere |
|---|---|
s |
Textul citit; poate fi null. |
Ce returnează
true dacă s este „true” (ignorând literele mari), altfel false.
Exemple
Exemplul 1: Ce texte dau true
public class Main {
public static void main(String[] args) {
String[] texte = {"true", "TRUE", "True", "da", "1", " true", null};
for (String t : texte) {
System.out.println(t + " -> " + Boolean.parseBoolean(t));
}
}
}
Rezultat
true -> true
TRUE -> true
True -> true
da -> false
1 -> false
true -> false
null -> false
Exemplul 2: O setare citită din configurare
Acceptăm și răspunsuri românești, transformându-le înainte în „true”.
import java.util.Map;
public class Main {
static boolean activ(String valoare) {
if (valoare == null) {
return false;
}
String v = valoare.strip().toLowerCase();
if (v.equals("da") || v.equals("1")) {
v = "true";
}
return Boolean.parseBoolean(v);
}
public static void main(String[] args) {
Map<String, String> config = Map.of("newsletter", "DA", "notificari", "true ", "sms", "nu");
for (String cheie : new String[] {"newsletter", "notificari", "sms", "email"}) {
System.out.println(cheie + ": " + activ(config.get(cheie)));
}
}
}
Rezultat
newsletter: true
notificari: true
sms: false
email: false
Greșeli frecvente
- Te aștepți ca un text greșit (de exemplu
"ture") să dea eroare.parseBooleanreturnează pur și simplufalse; dacă vrei validare strictă, verifică textul singur. - Faci unboxing la un
Booleancare estenull:if (setare)aruncăNullPointerException. FoloseșteBoolean.TRUE.equals(setare).
Comenzi înrudite
Integer.parseInt: Transformă un text ca „42” în numărul întreg 42; valueOf face același lucru, dar returnează un obiect Integer.Double.parseDouble: Double este wrapperul pentru double; parseDouble și valueOf transformă un text ca „3.75” în număr cu zecimale.Tipuri wrapper și autoboxing: Fiecare primitiv are o clasă „înveliș” (Integer, Double, Character…); conversia automată între ele se numește autoboxing.String.equals: Verifică dacă două șiruri au exact același text; equalsIgnoreCase și equalsFoldCase ignoră literele mari/mici.