"¡Hola, amigo!"

"Hola Kim."

"Le hablaré sobre el tipo booleano. Es un contenedor para el tipo booleano, y es tan fácil como un pastel. Aquí hay un código simplificado de la clase 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);
 }
}

"En otras palabras, la clase es simplemente un contenedor para el tipo booleano".

"Sí. Y tiene dos constantes (VERDADERO y FALSO), que son contrapartes de los valores primitivos verdadero y falso".

"También maneja el autoboxing como un campeón:"

Código lo que realmente sucede
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();

"Y así es como funcionan las comparaciones entre tipos booleanos y booleanos:"

Ejemplo
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)

"Si realmente necesita crear un objeto booleano independiente, debe crearlo explícitamente:

Ejemplo
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)

"Creo que eso es todo por ahora".

"Sí, tus lecciones son más cortas que las de Bilaabo".

"Entonces, ¿puedo usar Boolean dentro de una condición if?"

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

"Sí, pero no olvide que si menos es nulo, se lanzará una NullPointerException".

"Sí, ya entiendo eso. Simplemente no lo tengo todo en mi cabeza todo el tiempo".