HOWTO · Java
String para Boolean em Java
Este artigo mostra os métodos para converter um valor de cordel para um booleano em Java
Nesta página
Hoje, vamos analisar três métodos que nos ajudam a converter uma string Java para um booleano. Podemos utilizar um valor booleano com um primitivo boolean ou um objecto Boolean. Embora a classe Boolean envolva o primitivo boolean, veremos os casos de ambos nos exemplos que se seguem.
Converter uma string em boolean ou Boolean utilizando Boolean.parseBoolean(string) em Java
O primeiro exemplo utiliza o método parseBoolean(string) da classe Boolean. Ele analisa directamente ou converte uma determinada string para devolver um booleano primitivo que representa a string. Uma coisa importante a notar é que este método retorna false quando um valor de string diferente de true ou false é passado.
Como sabemos que parseBoolean() retorna um boolean, podemos utilizar o valor retornado como boolean bool e Boolean boolObj porque a classe Boolean tem o primitivo boolean nela.
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "false";
boolean bool = Boolean.parseBoolean(exampleString);
Boolean boolObj = Boolean.parseBoolean(exampleString);
System.out.println("Primitive boolean: " + bool);
System.out.println("Boolean object: " + boolObj);
}
}
Resultado:
Primitive boolean: false
Boolean object: false
Converter uma String para boolean ou Boolean utilizando Boolean.valueOf(string) em Java
Outra função estática da classe Boolean para converter uma string em booleano é valueOf(). Pega na string como argumento e retorna um valor Booleano que representa a string. Abaixo podemos ver que exampleString é inicializada com true como string, e passamos para o método valueOf(string).
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "true";
boolean bool = Boolean.valueOf(exampleString);
Boolean boolObj = Boolean.valueOf(exampleString);
System.out.println("Primitive boolean: " + bool);
System.out.println("Boolean object: " + boolObj);
}
}
Resultado:
Primitive boolean: true
Boolean object: true
Converter uma string para boolean e Boolean utilizando BooleanUtils.toBoolean(string) em Java
Em ambos os métodos acima, as funções retornam sempre false se o valor da string for algo diferente de true ou false. Este problema pode ser resolvido utilizando o método BooleanUtils.toBoolean() da biblioteca comum apache.
Utilizamos a seguinte dependência no nosso projecto para incluir a biblioteca.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
No exemplo seguinte, temos três strings: yes, no, e true. E para converter todos estes valores em booleano, utilizaremos BooleanUtils.toBoolean(string) e passaremos a string como um argumento. Na saída, podemos ver que todos os valores foram analisados correctamente. O yes é convertido para true, e o no é convertido para false.
import org.apache.commons.lang3.BooleanUtils;
public class StringToBoolean {
public static void main(String[] args) {
String exampleString = "yes";
String exampleString1 = "no";
String exampleString2 = "true";
boolean bool1 = BooleanUtils.toBoolean(exampleString);
Boolean boolObj1 = BooleanUtils.toBoolean(exampleString);
boolean bool2 = BooleanUtils.toBoolean(exampleString1);
Boolean boolObj2 = BooleanUtils.toBoolean(exampleString1);
boolean bool3 = BooleanUtils.toBoolean(exampleString2);
Boolean boolObj3 = BooleanUtils.toBoolean(exampleString2);
System.out.println("Primitive boolean 1: " + bool1);
System.out.println("Boolean object 1: " + boolObj1);
System.out.println("Primitive boolean 2: " + bool2);
System.out.println("Boolean object 2: " + boolObj2);
System.out.println("Primitive boolean 3 : " + bool3);
System.out.println("Boolean object 3: " + boolObj3);
}
}
Resultado:
Primitive boolean 1: true
Boolean object 1: true
Primitive boolean 2: false
Boolean object 2: false
Primitive boolean 3 : true
Boolean object 3: true