de-vraag
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
Suresh Chaganti
Suresh Chaganti
Question

Ako previesť objekt String na objekt Boolean?

Ako previesť objekt String na objekt Boolean?

313 2009-10-08T16:00:57+00:00 3
 TheKojuEffect
TheKojuEffect
Edited question 26 september 2013 в 5:46
Programovanie
java
string
boolean
This question has 1 odpoveď in English, to read them log in to your account.
Solution / Answer
 KLE
KLE
8 október 2009 в 4:02
2009-10-08T16:02:36+00:00
Viac na
Zdroj
Upraviť
#9558826

Skúste (v závislosti od typu výsledku, ktorý chcete):

Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");

Výhoda:

  • Boolean: nevytvára nové inštancie Boolean, takže výkon je lepší (a menej odpadu). Opätovne používa dve inštancie buď Boolean.TRUE alebo Boolean.FALSE.
  • Boolean: nie je potrebná žiadna inštancia, používa sa primitívny typ.

Oficiálna dokumentácia sa nachádza v Javadoc.


AKTUALIZOVANÉ:

Autoboxing by sa tiež mohol použiť, ale má to svoje náklady na výkon.
Odporúčam ho používať len vtedy, keď by ste sa museli obsadiť sami, nie keď sa obsadeniu dá vyhnúť.

 JRodDynamite
JRodDynamite
Edited answer 6 apríl 2016 в 5:12
502
0
 zlajo
zlajo
8 október 2009 в 4:17
2009-10-08T16:17:30+00:00
Viac na
Zdroj
Upraviť
#9558828

Pri použití Boolean.valueOf(string) alebo Boolean.parseBoolean(string) musíte byť opatrní. Dôvodom je, že tieto metódy vždy vrátia false, ak sa String nerovná "true" (prípad sa ignoruje).

Napríklad:

Boolean.valueOf("YES") -> false

Kvôli takémuto správaniu by som odporúčal pridať nejaký mechanizmus, ktorý by zabezpečil, že reťazec, ktorý sa má preložiť na boolean, bude dodržiavať určený formát.

Napríklad:

if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
    Boolean.valueOf(string)
    // do something   
} else {
    // throw some exception
}
87
0
 CJS
CJS
8 október 2009 в 4:15
2009-10-08T16:15:41+00:00
Viac na
Zdroj
Upraviť
#9558827
Boolean b = Boolean.valueOf(string);

Hodnota b je true, ak reťazec nie je null a rovná sa true (ignoruje prípad).

 j0k
j0k
Edited answer 25 január 2013 в 8:18
21
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
Jasur Fozilov
Registered pred 9 hodinami
2
Zuxriddin Muydinov
Registered pred dňom
3
Денис Анненский
Registered pred 3 dňami
4
365
Registered pred týždňom
5
True Image
Registered pred týždňom
DE
EL
ES
FR
ID
IT
JA
NL
PT
RU
SK
SL
ZH
© de-vraag 2022
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora