Pretvaranje Java niza u logičku vrijednost

1. Pregled

U ovom uputstvu ćemo istražiti različite načine na koje možemo koristiti Javu Booleova razred dopretvoriti a Niz u a boolean.

2. Boolean.parseBoolean ()

Boolean.parseBoolean () omogućuje nam prolazak u a Niz i primiti primitiv boolean.

Prvo, napišimo test da vidimo kako parseBoolean () pretvara a Niz s vrijednošću pravi:

assertThat (Boolean.parseBoolean ("true")). isTrue ();

Naravno, test prolazi.

Zapravo, semantika parseBoolean () su toliko jasni da nas IntelliJ IDEA upozorava da dodavanje niza doslovno "pravi" je suvišan.

Drugim riječima, ova je metoda izvrsna za okretanje a Niz u a boolean.

3. Boolean.valueOf ()

Boolean.valueOf () također nam omogućuje da prođemo kroz a Niz, ali ova metoda vraća a Booleova instanca klase umjesto primitiva boolean.

Možemo vidjeti da ova metoda također uspijeva pretvoriti našu Niz:

assertThat (Boolean.valueOf ("true")). isTrue ();

Ova metoda zapravo koristi parseBoolean () učiniti svoje Niz pretvorbu u pozadini i jednostavno koristi rezultat za vraćanje statički definirane Booleova primjer.

Stoga, ovu metodu treba koristiti samo ako se vrati Booleova instanca je potrebna. Ako je potreban samo primitivan rezultat, učinkovitije je držati se upotrebe parseBoolean () direktno.

4. Boolean.getBoolean ()

Boolean.getBoolean () je treća metoda koja prihvaća a Niz i vraća a boolean.

Ne gledajući dokumentaciju ili provedbu ove metode, moglo bi se razumno pretpostaviti da je ova metoda također za njezinu pretvorbu Niz argument u a boolean:

assertThat (Boolean.getBoolean ("true")). isTee (); // ovaj test nije uspio!

Razlog što ovaj test ne uspije je taj the Niz argument bi trebao predstavljati ime a boolean svojstvo sustava.

Definiranjem svojstva sustava:

System.setProperty ("CODING_IS_FUN", "true"); assertThat (Boolean.getBoolean ("CODING_IS_FUN")). isTrue ();

Napokon, test prolazi. Inspekcija provedbe ove metode otkriva da se i ona koristi parseBoolean () metoda učiniti svoje Niz pretvorba.

Imajte na umu da getBoolean () je doslovno prečac za parseBoolean (System.getProperty ("true")), što znači da nas ime ne bi trebalo zavesti.

Stoga, jedini način Boolean.getBoolean ("true"); ikad će se vratiti pravi je ako postoji sistemsko svojstvo zvano "pravi" a njegova vrijednost raščlanjuje na pravi.

4. Zaključak

U ovom kratkom vodiču vidjeli smo ključne razlike između Boolean.parseBoolean (), Boolean.valueOf (), i Boolean.getBoolean ().

Dok parseBoolean () i vrijednost() obojica pretvaraju a Niz u a boolean, važno je to upamtiti Boolean.getBoolean () ne.

Izvorni kod sa svim primjerima u ovom vodiču možete pronaći na Githubu.


$config[zx-auto] not found$config[zx-overlay] not found