A classe Boolean do Java
Wellington Domiciano
Posted on December 14, 2021
A partir do Java 9 os construtores da classe Boolean
tornaram-se obsoletos e quando queremos usar instâncias de Boolean
usamos as constantes Boolean.TRUE
ou Boolean.FALSE
.
Podemos obter uma destas constantes a partir de um primitivo usando o método Boolean.valueOf()
.
System.out.println(Boolean.valueOf(true) == Boolean.TRUE); // true
System.out.println(Boolean.valueOf(false) == Boolean.FALSE); // true
Este método também aceita uma String
que, se for igual a palavra true ignorando se as letras são maiúsculas ou minúsculas, o resultado será igual a Boolean.TRUE
, caso contrário será Boolean.FALSE
.
System.out.println(Boolean.valueOf("true") == Boolean.TRUE); // true
System.out.println(Boolean.valueOf("TRUE") == Boolean.TRUE); // true
System.out.println(Boolean.valueOf("TrUe") == Boolean.TRUE); // true
System.out.println(Boolean.valueOf("false") == Boolean.FALSE); // true
System.out.println(Boolean.valueOf("") == Boolean.FALSE); // true
System.out.println(Boolean.valueOf(null) == Boolean.FALSE); // true
O método Boolean.parseBoolean()
também aceita uma String
e funciona da mesma forma, mas retorna um primitivo ao invés de um objeto.
Uso em expressões
Podemos usar um Boolean
diretamente em locais em que expressões booleanas são esperadas, como nas condições do if
ou do while
.
Boolean value = Boolean.TRUE;
if (value) {
// ...
}
while (value) {
// ...
}
Mas fique atento, pois como um Boolean
pode ser null
, uma NullPointerException
pode ser lançada.
Boolean value = null;
if (value) { // vai lançar NullPointerException
// ...
}
Outros métodos estáticos legais
O método Boolean.logicalAnd()
é equivalente ao uso do operador &&
e retorna true
apenas se ambos os valores forem true
.
System.out.println(Boolean.logicalAnd(true, true)); // true
System.out.println(Boolean.logicalAnd(true, false)); // false
System.out.println(Boolean.logicalAnd(false, true)); // false
System.out.println(Boolean.logicalAnd(false, false)); // false
O método Boolean.logicalOr()
é equivalente ao uso do operador ||
e retorna true
se pelo menos um dos valores forem true
.
System.out.println(Boolean.logicalOr(true, true)); // true
System.out.println(Boolean.logicalOr(true, false)); // true
System.out.println(Boolean.logicalOr(false, true)); // true
System.out.println(Boolean.logicalOr(false, false)); // false
O método Boolean.logicalXor()
é equivalente ao uso do operador ^
e retorna true
apenas se um dos valores forem true
.
System.out.println(Boolean.logicalXor(true, true)); // false
System.out.println(Boolean.logicalXor(true, false)); // true
System.out.println(Boolean.logicalXor(false, true)); // true
System.out.println(Boolean.logicalXor(false, false)); // false
O método Boolean.getBoolean()
é usado para retornar uma System Property como um primitivo boolean
seguindo as mesmas regras do método Boolean.parseBoolean()
.
É possível passar para o programa System Properties arbitrárias usando a opção -D
na hora de executar.
// Compile e execute com o comando abaixo.
// java -Daaa=true -Dbbb=false Program
public class Program {
public static void main(String... args) {
System.out.println(Boolean.getBoolean("aaa")); // true
System.out.println(Boolean.getBoolean("bbb")); // false
}
}
Posted on December 14, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.