„Hallo, Amigo!“

„Hallo, Kim.“

„Ich werde Ihnen etwas über den Boolean-Typ erzählen. Es ist ein Wrapper für den Boolean-Typ und es ist kinderleicht. Hier ist ein vereinfachter Code aus der Boolean-Klasse:“

Code
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);
 }
}

„Mit anderen Worten, die Klasse ist einfach ein Wrapper für den booleschen Typ.“

„Ja. Und es hat zwei Konstanten (WAHR und FALSCH), die Gegenstücke zu den Grundwerten wahr und falsch sind.“

„Außerdem beherrscht es das Autoboxen wie ein Champion:“

Code Was wirklich passiert
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();

„Und so funktionieren Vergleiche zwischen booleschen und booleschen Typen:“

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

„Wenn Sie wirklich ein unabhängiges boolesches Objekt erstellen müssen, müssen Sie es explizit erstellen:

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

„Ich denke, das ist alles für den Moment.“

„Ja, deine Lektionen sind kürzer als die von Bilaabo.“

„Kann ich Boolesche Werte in einer if-Bedingung verwenden?“

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

„Ja, vergessen Sie nur nicht, dass eine NullPointerException ausgelöst wird, wenn less null ist.“

„Ja, das verstehe ich schon. Ich behalte nur nicht die ganze Zeit alles im Kopf.“