"Hej, Amigo!"

"Hej Kim."

"Jag ska berätta om den booleska typen. Det är ett omslag för den booleska typen, och det är lätt som en plätt. Här är lite förenklad kod från den booleska klassen:"

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

"Med andra ord, klassen är helt enkelt ett omslag för den booleska typen."

"Japp. Och den har två konstanter (TRUE och FALSE), som är motsvarigheter till de primitiva värdena sant och falskt."

"Den hanterar också autoboxning som en mästare:"

Koda Vad händer egentligen
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();

"Och så här fungerar jämförelser mellan booleska och booleska typer:"

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

"Om du verkligen behöver skapa ett oberoende booleskt objekt måste du skapa det uttryckligen:

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

"Jag tror att det var allt för nu."

"Ja, dina lektioner är kortare än Bilaabos."

"Så, kan jag använda Boolean i ett if-villkor?"

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

"Ja, glöm bara inte att om mindre är null, kommer ett NullPointerException att kastas."

"Japp, det förstår jag redan. Jag har bara inte allt i huvudet hela tiden."