"Olá, amigo!"

"Oi, Kim."

"Vou falar sobre o tipo booleano. É um wrapper para o tipo booleano e é muito fácil. Aqui está um código simplificado da classe booleana:"

Código
class Boolean
{
 public static final Boolean TRUE = new Boolean(true);
 public static final Boolean FALSE = new Boolean(false);

 private final boolean value;

 public Boolean(boolean value)
 {
  this.value = value;
 }

 public boolean booleanValue()
 {
  return value;
 }

 public static Boolean valueOf(boolean b)
 {
  return (b ? TRUE : FALSE);
 }
}

"Em outras palavras, a classe é simplesmente um wrapper para o tipo booleano."

"Sim. E tem duas constantes (VERDADEIRO e FALSO), que são as contrapartes dos valores primitivos verdadeiro e falso."

"Ele também lida com autoboxing como um campeão:"

Código O que realmente acontece
Boolean a = true;
Boolean b = true;
Boolean c = false;
boolean d = a;
Boolean a = Boolean.valueOf(true);
Boolean b = Boolean.valueOf(true);
Boolean c = Boolean.valueOf(false);
boolean d = a.booleanValue();

"E aqui está como as comparações entre tipos booleanos e booleanos funcionam:"

Exemplo
boolean a = true;
Boolean b = true; //Will be equal to Boolean.TRUE
Boolean c = true; //Will be equal to Boolean.TRUE

a == b; //true (comparison based on primitive value)
a == c; //true (comparison based on primitive value)
b == c; //true (comparison based on references, but they point to the same object)

"Se você realmente precisa criar um objeto booleano independente, você deve criá-lo explicitamente:

Exemplo
boolean a = true;
Boolean b = new Boolean(true); //A new Boolean object
Boolean c = true; //Will be equal to Boolean.TRUE

a == b; //true (comparison based on primitive value)
a == c; //true (comparison based on primitive value)
b == c; //false (comparison based on references; they point to different objects)

"Eu acho que isso é tudo por agora."

"Sim, suas aulas são mais curtas que as de Bilaabo."

"Então, posso usar Boolean dentro de uma condição if?"

Boolean less = (2 < 3);
if (less)
{
….
}

"Sim, apenas não esqueça que, se less for nulo, um NullPointerException será lançado."

"Sim, eu já entendi isso. Eu só não mantenho tudo na minha cabeça o tempo todo."