kzen.dev
  • Întrebări
  • Tag-uri
  • Utilizatori
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
Suresh Chaganti
Suresh Chaganti
Question

Cum de a converti Șirul obiect la Obiect Boolean?

Cum de a converti "String" obiect "Boolean" obiect?

313 2009-10-08T16:00:57+00:00 14
 TheKojuEffect
TheKojuEffect
Întrebarea editată 26 septembrie 2013 в 5:46
Programare
java
string
boolean
Solution / Answer
 KLE
KLE
8 octombrie 2009 в 4:02
2009-10-08T16:02:36+00:00
Mai mult
Sursă
Editează
#9558826

Încerca (în funcție de ce tip de rezultat vrei):

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

Avantaj:

  • Boolean: acest lucru nu crea noi instanțe ale Boolean, atât performanța este mai bună (și mai puțin de gunoi de colectare). Se reutilizează cele două instanțe ale fie Boolean.ADEVĂRAT " sau " Boolean.FALSE.
  • boolean: nu există un exemplu este necesar, utilizați tip primitiv.

Documentația oficială este în Javadoc.


ACTUALIZAT:

Autoboxing ar putea fi, de asemenea, folosit, dar are un cost de performanță. Îți sugerez să-l folosească numai atunci când ar trebui să te pui, nu atunci când exprimate este de evitat.

 JRodDynamite
JRodDynamite
Răspuns editat 6 aprilie 2016 в 5:12
502
0
 zlajo
zlajo
8 octombrie 2009 в 4:17
2009-10-08T16:17:30+00:00
Mai mult
Sursă
Editează
#9558828

Trebuie să fii atent atunci când se utilizează Boolean.valueOf(string) sau Boolean.parseBoolean(string). Motivul pentru aceasta este faptul că metodele mereu se va întoarce false dacă Șirul nu este egal cu "adevărat" (caz este ignorat).

De exemplu:

Boolean.valueOf("YES") -> false

Din aceasta cauza comportamentului mi-ar recomanda pentru a adăuga un mecanism pentru a se asigura că șirul care ar trebui să fie tradus de un Boolean urmează un format specificat.

De exemplu:

if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
    Boolean.valueOf(string)
    // do something   
} else {
    // throw some exception
}
87
0
 CJS
CJS
8 octombrie 2009 в 4:15
2009-10-08T16:15:41+00:00
Mai mult
Sursă
Editează
#9558827
Boolean b = Boolean.valueOf(string);

Valoarea b este adevărat dacă șirul nu este o nulă și egală cu "adevărat" (ignorând caz).

 j0k
j0k
Răspuns editat 25 ianuarie 2013 в 8:18
21
0
 PhiLho
PhiLho
8 octombrie 2009 в 4:23
2009-10-08T16:23:24+00:00
Mai mult
Sursă
Editează
#9558829

Pe lângă răspunsul excelent de KLE, putem face, de asemenea, ceva mai flexibil:

boolean b = string.equalsIgnoreCase("true") || string.equalsIgnoreCase("t") || 
        string.equalsIgnoreCase("yes") || string.equalsIgnoreCase("y") || 
        string.equalsIgnoreCase("sure") || string.equalsIgnoreCase("aye") || 
        string.equalsIgnoreCase("oui") || string.equalsIgnoreCase("vrai");

(inspirat de zlajo's a raspuns... :-))

17
0
 Zed
Zed
8 octombrie 2009 в 4:27
2009-10-08T16:27:40+00:00
Mai mult
Sursă
Editează
#9558830
boolean b = string.equalsIgnoreCase("true");
11
0
 david30xie
david30xie
23 ianuarie 2018 в 2:01
2018-01-23T14:01:28+00:00
Mai mult
Sursă
Editează
#9558838

Ei bine, ca acum, în ianuarie, în 2018, cea mai bună cale pentru aceasta este de a folosi apache's BooleanUtils.toBoolean.

Aceasta va converti orice boolean ca șirul să boolean, de exemplu Y, da, adevărat, N, nu, fals, etc.

Foarte la îndemână!

9
0
 AechoLiu
AechoLiu
10 decembrie 2015 в 2:33
2015-12-10T02:33:33+00:00
Mai mult
Sursă
Editează
#9558835
public static boolean stringToBool(String s) {
        s = s.toLowerCase();
        Set<String> trueSet = new HashSet<String>(Arrays.asList("1", "true", "yes"));
        Set<String> falseSet = new HashSet<String>(Arrays.asList("0", "false", "no"));

        if (trueSet.contains(s))
            return true;
        if (falseSet.contains(s))
            return false;

        throw new IllegalArgumentException(s + " is not a boolean.");
    }

Felul meu de a converti șir să boolean.

3
0
 Dhana
Dhana
4 februarie 2016 в 11:11
2016-02-04T23:11:09+00:00
Mai mult
Sursă
Editează
#9558836
String[] values= new String[]{"y","Y","n","N","Yes","YES","yes","no","No","NO","true","false","True","False","TRUE","FALSE",null};
for(String booleanStr : values){
    System.out.println("Str ="+ booleanStr +": boolean =" +BooleanUtils.toBoolean(booleanStr));
}

Rezultat:

Str =N: boolean =false
Str =Yes: boolean =true
Str =YES: boolean =true
Str =yes: boolean =true
Str =no: boolean =false
Str =No: boolean =false
Str =NO: boolean =false
Str =true: boolean =true
Str =false: boolean =false
Str =True: boolean =true
Str =False: boolean =false
Str =TRUE: boolean =true
Str =FALSE: boolean =false
Str =null: boolean =false
 Floern
Floern
Răspuns editat 17 aprilie 2017 в 5:45
2
0
 fedor.belov
fedor.belov
17 august 2019 в 8:46
2019-08-17T20:46:56+00:00
Mai mult
Sursă
Editează
#9558839

Am creat soyuz-a biblioteca pentru a simplifica această problemă (converti X-Y). L's doar un set de ASTFEL de răspunsuri pentru întrebări similare. Acest lucru ar putea fi ciudat de a folosi biblioteca pentru astfel de o problemă simplă, dar este într-adevăr ajută într-o mulțime de cazuri similare.

`` import io.thedocs.soyuz.a;

Boolean aBoolean = a.Boolean("adevărat"); ``

Vă rugăm să verificați - l's foarte simplu și are o mulțime de alte caracteristici utile

0
0
Tomislav Boras
Tomislav Boras
6 iulie 2015 в 1:16
2015-07-06T13:16:33+00:00
Mai mult
Sursă
Editează
#9558832

Acest lucru este cum am făcut-o:

"1##adevărat".conține( string )

Pentru cazul meu este cea mai mare 1 sau adevărat. Eu folosesc hash-uri ca separatoare.

0
0
Utilizator anonim
27 iulie 2015 в 11:15
2015-07-27T23:15:01+00:00
Mai mult
Sursă
Editează
#9558834

Pentru a obține valoarea booleană de un Șir de caractere, încercați acest lucru:

public boolean toBoolean(String s) {
    try {
        return Boolean.parseBoolean(s); // Successfully converted String to boolean
    } catch(Exception e) {
        return null; // There was some error, so return null.
    }
}

Dacă există o eroare, se va returna null. Exemplu:

toBoolean("true"); // Returns true
toBoolean("tr.u;e"); // Returns null
0
0
 Christophe
Christophe
3 iulie 2016 в 9:26
2016-07-03T09:26:44+00:00
Mai mult
Sursă
Editează
#9558837

De ce nu folosesc o expresie regulată ?

public static boolean toBoolean( String target )
{
    if( target == null ) return false;
    return target.matches( "(?i:^(1|true|yes|oui|vrai|y)$)" );
}
0
0
Prateek Singh
Prateek Singh
20 iulie 2015 в 9:23
2015-07-20T09:23:28+00:00
Mai mult
Sursă
Editează
#9558833

puteți seta direct boolean valoare echivalentă cu orice șir de Sistem de clasă și accesați-l de oriunde..

System.setProperty("n","false");
System.setProperty("y","true");

System.setProperty("yes","true");     
System.setProperty("no","false");

System.out.println(Boolean.getBoolean("n"));   //false
System.out.println(Boolean.getBoolean("y"));   //true   
 System.out.println(Boolean.getBoolean("no"));  //false
System.out.println(Boolean.getBoolean("yes"));  //true
 Klaus
Klaus
Răspuns editat 20 iulie 2015 в 9:58
-3
0
Vesco Pro
Vesco Pro
8 octombrie 2013 в 11:48
2013-10-08T23:48:39+00:00
Mai mult
Sursă
Editează
#9558831

Vizita http://msdn.microsoft.com/en-us/library/system.boolean.parse.aspx

Acest lucru vă va oferi o idee de ce să fac.

Asta este ceea ce primesc de la Java documentation:

Metoda Detaliu

parseBoolean

public static boolean parseBoolean(String s)`

Analizează șirul argument ca un boolean. Boolean revenit reprezintă valoarea true dacă șirul argument nu este null și este egală, ignorând caz, la string " "true" ".

Parametri:

" s " - Șir care conține boolean reprezentare a fi analizat

se Întoarce: boolean reprezentat de șirul argument

Începând cu: 1.5

 rink.attendant.6
rink.attendant.6
Răspuns editat 6 iulie 2015 в 1:36
-3
0
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
Utilizatori
Toate
Nou
Populare
1
Daniel Gogov
Înregistrat 6 zile în urmă
2
工藤 芳則
Înregistrat 1 săptămână în urmă
3
Ирина Беляева
Înregistrat 2 săptămâni în urmă
4
Darya Arsenyeva
Înregistrat 2 săptămâni în urmă
5
anyta nuam-nuam (LapuSiK)
Înregistrat 2 săptămâni în urmă
DE
EL
ES
FR
ID
IT
JA
KO
NL
PT
RO
RU
SK
SL
TR
UK
ZH
© kzen.dev 2023
Sursă
stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire