"Bună, Amigo!"

— Bună, Kim.

"O să vă spun despre tipul boolean. Este un înveliș pentru tipul boolean și este la fel de ușor ca o plăcintă. Iată un cod simplificat din clasa booleană:"

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

„Cu alte cuvinte, clasa este pur și simplu un înveliș pentru tipul boolean.”

"Da. Și are două constante (TRUE și FALSE), care sunt omoloage ale valorilor primitive adevărat și fals."

„De asemenea, se ocupă de autoboxing ca un campion:”

Cod Ce se întâmplă cu adevărat
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();

„Și iată cum funcționează comparațiile dintre tipurile booleene și booleene:”

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

„Dacă într-adevăr trebuie să creați un obiect boolean independent, trebuie să îl creați în mod explicit:

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

— Cred că asta e tot deocamdată.

— Da, lecţiile tale sunt mai scurte decât ale lui Bilaabo.

„Deci, pot folosi Boolean într-o condiție if?”

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

„Da, doar nu uitați că dacă less este nul, atunci va fi aruncată o NullPointerException.”

"Da, am înțeles deja asta. Doar că nu le țin tot timpul în cap."