A classe Boolean do Java

wldomiciano

Wellington Domiciano

Posted on December 14, 2021

A classe Boolean do Java

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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) {
  // ...
}
Enter fullscreen mode Exit fullscreen mode

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
  // ...
}
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
  }
}
Enter fullscreen mode Exit fullscreen mode
💖 💪 🙅 🚩
wldomiciano
Wellington Domiciano

Posted on December 14, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related

De uma página para vários components
javascript De uma página para vários components

November 28, 2024

Como funcionam Bindings no KnockoutJs
javascript Como funcionam Bindings no KnockoutJs

November 4, 2024

Como funcionam Observables no KnockoutJs
javascript Como funcionam Observables no KnockoutJs

October 28, 2024

Collection in Java
java Collection in Java

October 17, 2024

Node.js pra leigos - MongoDB e Fastify
mongodb Node.js pra leigos - MongoDB e Fastify

September 30, 2024