booléen

Multithreading Java
Niveau 9 , Leçon 6
Disponible

« Salut Amigo ! »

"Salut, Kim."

"Je vais vous parler du type booléen. C'est un wrapper pour le type booléen, et c'est aussi simple que bonjour. Voici du code simplifié de la classe booléenne :"

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

"En d'autres termes, la classe est simplement un wrapper pour le type booléen."

"Oui. Et il a deux constantes (TRUE et FALSE), qui sont les contreparties des valeurs primitives true et false."

"Il gère également la boxe automatique comme un champion :"

Code Que se passe-t-il vraiment
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();

"Et voici comment fonctionnent les comparaisons entre les types booléens et booléens :"

Exemple
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 vous avez vraiment besoin de créer un objet booléen indépendant, vous devez le créer explicitement :

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

"Je pense que c'est tout pour le moment."

« Ouais, tes cours sont plus courts que ceux de Bilaabo.

"Alors, puis-je utiliser Boolean dans une condition if?"

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

"Oui, n'oubliez pas que si less est null, alors une NullPointerException sera lancée."

"Ouais, je comprends déjà. Je ne garde pas tout ça dans ma tête tout le temps."

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION