Boolean.parseBoolean în Java

Boolean este wrapperul pentru boolean; parseBoolean() dă true doar pentru textul "true" (fără să conteze literele mari).

Sintaxă
public final class Boolean implements Serializable, Comparable<Boolean>, Constable
static boolean parseBoolean(String s)

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. parseBoolean returnează pur și simplu false; dacă vrei validare strictă, verifică textul singur.
  • Faci unboxing la un Boolean care este null: if (setare) aruncă NullPointerException. Folosește Boolean.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.